PHP

实例化pdo操作类的基础模型类

字号+ 编辑: 种花家 修订: 人在硅谷 来源: 原创 2023-09-10 我要说两句(0)

这篇文章需要结合本站关于pdo操作类的文章一起看。

继上一篇ccORM里的pdo操作类的代码, 再写一点可实例化这个操作类的基础模型代码, 笔者在yaf框架项目上使用的, 支持手动选择读写和事务连接, 供大伙参考用。

注意: php版本需求 > 7.0

    class Pdo_Initiator
    {
        /**
         * 实例化容器
         * @var  array
         */
        protected static $_container = [];
        /**
         * 获取对象单例
         * @access  public
         * @return  self
         */
        public static function instance()
        {
            if (empty(static::$_container[static::class]) || array_key_exists(static::class, static::$_container) == false) {
                static::$_container[static::class] = new static();
            }
            return static::$_container[static::class];
        }
        /**
         * 初始化配置
         * @access  private static
         * @return  array
         */
        private static function _initConfig(): array
        {
            $config = Yaf\Registry::get('config');
            $db = $config->db;
            $redis = $config->redis;
            return [
                'host'       => $db->host,
                'port'       => $db->port,
                'user'       => $db->user,
                'password'   => $db->password,
                'charset'    => $db->charset,
                'dbname'     => $db->dbname,
                'prefix'     => $db->prefix,
                'persistent' => 0,
                'log'        => 1,
                'redis_ip'   => $redis->host,
                'redis_port' => $redis->port,
                'redis_auth' => $redis->auth,
                'redis_db'   => $redis->sql_cache,
                'redis_log'  => $redis->log,
            ];
        }
        /**
         * 获取读数据用句柄
         * @access  protected
         * @return  object
         */
        protected function on()
        {
            return new \Pdo_Worker(self::_initConfig());
        }
    }


阅完此文,您的感想如何?
  • 有用

    0

  • 没用

    0

  • 开心

    0

  • 愤怒

    0

  • 可怜

    0

1.如文章侵犯了您的版权,请发邮件通知本站,该文章将在24小时内删除;
2.本站标注原创的文章,转发时烦请注明来源;
3.交流群: PHP+JS聊天群

相关课文
  • mac开发接入微信公众号接口返回报错 cURL error 56: SSLRead() return error -9806

  • pecl安装程序时报错Array and string offset access syntax with curly braces is no longer supported

  • PHP的换行符是什么

  • 由于商家传入的H5交易参数有误,该笔交易暂时无法完成,请联系商家解决

我要说说
网上宾友点评