zoukankan      html  css  js  c++  java
  • 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、delete是否成功的判断,但对update无效,因为mysql本身问题,对update不报错

    四、phalcon中严格区分大小写

    很多时候兄弟们会发现,mac下运行的好好的,为什么一到真服linux下就出问题呢,原来mac下不区分大小写,Ubuntu下区分大小写

    比如  MainTask handler class cannot be loaded ,就是因为mac下建的文件,maintask.php ,是小写。

    1、以专家为榜样,不必自己重新探索
    2、解构技能,找出实现80%效果的那20%
    3、不要一心二用
    4、练习练习再练习!然后获得即时反馈
    5、坚持,不要在低谷期放弃
  • 相关阅读:
    day02-数据库操作
    day01-MySQL介绍
    3-socketserver
    1-多线程与多进程
    keyword模块
    math模块
    查看进程pid与ppid
    开启进程的两种方式
    进程理论
    进程
  • 原文地址:https://www.cnblogs.com/zhongyuan/p/3822898.html
Copyright © 2011-2022 走看看