PHP:此注册表功能保留什么



我一直在研究php 5社交网络提供的注册表类。目前尚不清楚它在做什么。通常的注册表设计模式类似于PHP注册表模式中介绍的模式。这似乎是不同的:

class Registry {
    /**
     * Array of objects
     */
    private $objects;
    /**
     * Array of settings
     */
    private $settings;
    public function __construct() {
    }
    /**
     * Create a new object and store it in the registry
     * @param String $object the object file prefix
     * @param String $key pair for the object
     * @return void
     */
    public function createAndStoreObject( $object, $key )
    {
        require_once( $object . '.class.php' );
        $this->objects[ $key ] = new $object( $this );
    }
    /**
     * Get an object from the registries store
     * @param String $key the objects array key
     * @return Object
     */
    public function getObject( $key )
    {
        return $this->objects[ $key ];
    }
}

我无法理解属于函数的"新$ object($ this)"的结构" createAndStoreObject($ object,$ key)"。

在index.php中,此类是这样使用的:

require('registry/registry.class.php');
$registry = new Registry();
$registry->createAndStoreObject( 'mysqldb', 'db' );
include(FRAMEWORK_PATH . 'config.php'); // Config.php contains the database configuration
// create a database connection
$registry->getObject('db')->newConnection( $configs['db_host_sn'], $configs['db_user_sn'], $configs['db_pass_sn'], $configs['db_name_sn']);
// store settings in our registry
$settingsSQL = "SELECT `key`, `value` FROM settings"; // settings is a table previously defined
$registry->getObject('db')->executeQuery( $settingsSQL );
while( $setting = $registry->getObject('db')->getRows() )
{
    $registry->storeSetting( $setting['value'], $setting['key'] );
}

$registry->createAndStoreObject( 'urlprocessor', 'url' );
$registry->getObject('url')->getURLData();

0)这意味着" $ this"?

1)一个人可以在索引文件中向我解释这种结构吗?

2)我可以用来理解这种高级PHP的可读书吗?

$这是一个变量,指示您程序当前在范围中执行的类的实例,即您在该类的实例

在尝试基于面向对象的编程的设计模式之前,您需要了解面向对象的编程。$ this,self ::,parent ::,static ::和PHP的其他几种语言特征可帮助您使用OO语言的多态性特征...在尝试了解之前,请阅读并掌握OO编程和原理您要在这里学习的概念,否则您将浪费时间..就像看微积分,询问哪些乘法符号是...

最新更新