【问题标题】:Correct way to query a MySql database in Zend Framework 2Zend Framework 2中查询MySql数据库的正确方法
【发布时间】:2015-10-07 16:22:48
【问题描述】:

经过长期的奋斗和研究,终于可以使用zend framework 2查询mysql表中的数据库了。

我正在使用自动加载器。代码如下:

require_once 'Zend/Loader/StandardAutoloader.php';
    $loader = new Zend\Loader\StandardAutoloader(array('autoregister_zf' => true));

    $loader->register();

    use Zend\Db\Adapter\Adapter;


    $params = array(
        'driver'=> 'Pdo_Mysql',
        'hostname' => 'localhost',
        'username' => '*****',
        'password' => '*****',
        'dbname' => '*****'
    );

    try{

       $adapter = new Adapter($params);

    }
    catch (Exception $e){
        echo $e->getMessage();
    }

    $sql = 'select * from user';

    $rs = $adapter->createStatement($sql)->execute(array(100,100));

    print_r(iterator_to_array($rs));

    echo $rs->count();

我想知道查询 mysql 表的正确方法和最佳实践是什么。以前在 ZF1 中要容易得多,但现在我明白 ZF2 更加面向对象。

我想优化性能和良好的编码。你能告诉我我做的是否好,在使用 ZF2 时查询 mysql 数据库的最佳方法是什么,因为会有很多查询要做。

【问题讨论】:

    标签: php mysql zend-framework2 zend-autoloader


    【解决方案1】:

    首先。

    经过长期的奋斗和研究

    我不同意你的观点。您可以在任何地方找到您搜索的示例。

    您的代码根本不尊重 OOP 方法,甚至不尊重 Zf2 标准编码,因此您必须打破这一点。我还建议使用Zend skeleton application 向您展示如何将 Zf2 与标准架构一起使用。

    回答您的问题: Zf2 有一个配置部分来配置连接参数。 您应该使用它,根据文档本身,这是最佳实践。

    This complete tutorial关于数据库和模型肯定会对你有所帮助。

    在本教程中,您可以看到连接配置应在配置文件中查看的示例

    //db.config.php
    return array(
         'db' => array(
             'driver'         => 'Pdo',
             'dsn'            => 'mysql:dbname=[yourDb_name];host=localhost',
             'driver_options' => array(
                 PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''
             ),
         ),
         'service_manager' => array(
             'factories' => array(
                 'Zend\Db\Adapter\Adapter'
                         => 'Zend\Db\Adapter\AdapterServiceFactory',
             ),
         ),
     );
    

    然后从这里您还可以在另一个配置文件中指定您的安全和/或环境问题/设施的凭据

     //credential.config.local.php
     return array(
         'db' => array(
             'username' => 'YOUR USERNAME HERE',
             'password' => 'YOUR PASSWORD HERE',
         ),
     );
    

    所有配置文件被合并。使用它!

    通过学习本教程,您将能够创建模型层并以 OOP 方法与数据库进行交互。 您必须根据需要使用 MVC 模式等设计模式,以及其他一些设计模式。但是如果你想尊重 zf2 编码标准,这是唯一的方法!

    【讨论】:

      猜你喜欢
      • 2010-10-01
      • 2012-02-24
      • 2013-03-26
      • 1970-01-01
      • 2011-07-29
      • 2013-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多