首页 > 代码库 > Phalcon 知识点备忘

Phalcon 知识点备忘

phalcon 毕竟无法看到源代码,有些小设置还是需要实践记忆。

一、如何调用config.php里面的配置

  很多时候,我们习惯将全局的配置参数放入主配置文件中,比如分页数、比如appkey之类。

  ‘params‘ => array(  //加入config.php中,那controller中如何调用呢
  ‘limit‘ => 10,
  )

  想要在controller中调用,可以通过services.php

  $di->set(‘main_config‘, $config); //将配置文件作为服务,放入di容器中

调用时:

echo $this->main_config->params[‘limit‘]; //controller中,是可以直接使用

echo $this->getDI()->get(‘main_config‘)->params[‘limit‘]; //model中,可以获取di后,使用。

 

另一种方案:配置写在 ControllerBase 的initialize() 里$this->settings = array(‘limit‘=>10);// settings设置为类的成员变量。

 

二、数据库的字符类型

$di->set(‘db‘, function () use ($config) {
return new DbAdapter(array(
‘host‘ => $config->database->host,
‘username‘ => $config->database->username,
‘password‘ => $config->database->password,
‘dbname‘ => $config->database->dbname,
‘charset‘ => ‘utf8‘     //这边要自己添加,例子里面没有。
));
});

 

三、phalcon的model中,想运行sql语句

$sql = "select * from Users u where u.email = :email: and u.password = :password: and u.status = :status: limit 1";

$res = $this->getDI()->get(‘modelsManager‘)->executeQuery($sql,array(      //或者:$this->getModelsManager()->executeQuery($sql);
‘email‘ => $email,
‘password‘ => $password,
‘status‘ => self::normalstatus,
));

return $res->valid()?$res:array(); //对于select的是否成功判断

return $res->success()?$res:0;  //对于insert、update、delete是否成功的判断