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是否成功的判断

Phalcon 知识点备忘,布布扣,bubuko.com

时间: 2024-11-10 11:36:05

Phalcon 知识点备忘的相关文章

焦点 、event对象、事件冒泡、事件绑定、AJAX知识点备忘

焦点:使浏览器能够区分用户输入的对象,当一个元素有焦点的时候,那么他就可以接收用户的输入. 设置焦点的几种方式: 1.点击 2.TAB键 3.JS onfocus   onblur 属性 var oinp=document.getElementById('shuru') oinp.onfocus=function(){ if(oinp.value=='请输入'){ oinp.value='' } } oinp.onblur=function(){ if(oinp.value==''){ oinp

Java基础知识点备忘

static 1.静态域 用static修饰的域是仅属于类的静态域,静态域是类中每个对象共享的域:他们是类的域,不属于任何一个类的具体对象:静态域是一个公共的存储单元,任何一个类的对象访问它时,取到的都是相同的数值,因此static代码块可以优化程序性能. 2.静态方法 用static修饰的方法叫类方法也叫静态方法:静态方法和静态变量一样,不许创建类的实例,可以直接通过类名被访问:无法使用protected和abstract关键字:在静态方法中不能访问非静态成员方法和非静态成员变量,但是在非静态

mysql 小知识点备忘(一)

mysql时间选择 字段中,常会有update_time / record_time 之类,以前直接int型11位,就可以了,但会有问题,到2037年会溢出.最近改用timestamp 1.timestamp类型 字段 类型   属性 默认 额外 update_time   timestamp    on update CURRENT_TIMESTAMP   CURRENT_TIMESTAMP   ON UPDATE CURRENT_TIMESTAMP 实际上就修改两个地方,类型 选择“time

Linux网络编程之epoll知识点备忘

首先是关于IO多路复用的基础概念: select,poll,epoll都是IO多路复用的机制.I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作.但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也就是说这个读写过程是阻塞的,而异步I/O则无需自己负责进行读写,异步I/O的实现会负责把数据从内核拷贝到用户空间. 关键要了解阻塞非阻塞.同步异步之间的关系与区别,然后对

《Windows核心编程》第5版 学习进度备忘

学习资源:<Windows核心编程>第5版 知识基础支持: 跳过的内容: 1. 知识要点: 1: 注意事项: 1. 不理解知识点: 1. 进度: 1.2014-08-10,前两章结束,接下来“第3章内核对象” <Windows核心编程>第5版 学习进度备忘,布布扣,bubuko.com

基于Prism.Windows的UWP开发备忘

以前做UWP开发都是使用MvvmLight,主要是简单易上手,同时也写了很多MvvmLight的开发系列文章: UWP开发必备以及常用知识点总结 UWP开发之Mvvmlight实践九:基于MVVM的项目架构分享 UWP开发之Mvvmlight实践八:为什么事件注销处理要写在OnNavigatingFrom中 UWP开发之Mvvmlight实践七:如何查找设备(Mobile模拟器.实体手机.PC)中应用的Log等文件 UWP开发之Mvvmlight实践六:MissingMetadataExcept

RxJava & RxAndroid备忘

"你问我要去向何方,我指着大海的方向" 今天在刷G+的时候看到Dave Smith推荐了一个视频 <Learning RxJava (for Android) by example> 点进去看了一下,原来是位熟悉的"阿三哥",视频封面如下:(没有歧视的意思,不要喷我啊~,为什么感到熟悉?接着往下看) 几乎同时也看到了JetBrains在G+也推荐了篇在Medium上的博文 <RxAndroid And Kotlin (Part 1)> ,然后

工作备忘:cacti&nagios登录密码修改方法

[[email protected]]# mysql -u root -p mysql> use cacti; mysql> select * from user_auth; mysql> update user_auth set password=md5("cactipasswd") where id='1'; 现在cacti登录的新密码就是cactipasswd [[email protected]]# /usr/bin/htpasswd /usr/local/n

备忘-linux文件系统结构

用apache的时候总是要进入/var/www, 用久了开始好奇这些个目录都是派什么用处的,简单整理了一下 /bin 存放二进制命令文件,这个目录下面不允许存在子目录/boot bootloader的静态文件,当然OS的文件也必须在这里/dev 设备文件,MAKEDEV命令可以创建设备/etc 特定主机的配置文件,必须是静态文件,非可执行文件: opt, X11, sgml, xml/home 用户目录 /lib 存放主要的共享库和核心模块/media 可移除媒体的挂载点: floppy, cd