CakePHP 总结】的更多相关文章

之前无法正常更新ENUM类型的数据,感觉是框架函数实现的bug. 问题很诡异,因为INIT的时候是可以成功写入的,没理由UPDATE的时候不成功. 前后琢磨了一下午,发现了一点蛛丝马迹才终于想通.问题出在Cakephp操作对ENUM类型值的保存做了一点手脚. 具体关于ENUM的实现暂时不提. 我的bug原因在于我的ENUM取的值是‘1’,‘2’,‘3’,‘4’,当我通过Model->set('col1','4')时,table里的表是1,跟init的时候一样.当时我认为UPDATE ‘col1’…
最近一直在使用cakephp这个框架学习,最近发现了一些问题,就是怎样将SQL语句打印出来进行调试,方法如下: $db=ConnectionManager::getDataSource('default'); $db->showLog(); 可以举一个例子来进行说明: public function abc(){ $this->layout="default"; $userData=$this->User-find('all'); //Below code to ru…
请求与响应对象 请求与响应对象在 CakePHP 2.0 是新增加的.在之前的版本中,这两个对象是由数组表示的,而相关的方法是分散在RequestHandlerComponent,Router,Dispatcher 和 Controller 之中的.关于请求对象包含什么信息,之前并没有权威性的对象. 在2.0中, CakeRequest 和 CakeResponse 用于此目的. CakeRequest CakeRequest 是 CakePHP 中缺省的请求对象.它集中了一些特性,用来查询(i…
控制器 控制器是MVC中的“C”. 如果你的网站使用Cake框架制作,一般根据url地址和通过路由,就会找到正确的控制器,然后控制器的动作就会被调用. 一个控制器需要解释请求数据.确保使用正确的模型.渲染正确的视图. 控制器可以被认为是模型和视图的中间人. 我们一般保持控制器瘦小,而模型肥胖. 这样代码更容易复用和测试. 通常,控制器用于管理关于单个模型的逻辑. 例如,如果你为一个在线面包店制作网站, 你可能会有 RecipesController 和 IngredientsController…
模型 模型在应用程序中是作为业务层而存在的(怎么感觉是数据层......).这就意味着,模型应当负责管理几乎所有涉及数据的事情,其合法性,以及你的业务领域中数据在工作流程中的演化和互动 . 通常模型类用来表示数据,并且在 CakePHP 应用程序中用来访问数据,具体说,模型代表数据库中的表,但不限于此,也可以访问任何操控数据的东西,比如文件,外部网络服务,iCal 日程,或者 CSV 文件中的行. 一个模型可以与其他模型关联.例如,一份菜谱可以和菜谱的作者关联,也可以和菜谱的原料相关联. 本章中…
简单的身份验证和授权应用 接着我们blog教程的例子,如果我们想要建立一个根据登录的用户身份来决定其安全访问到正确的urls. 同时我们还有其他的需求: 允许我们的blog有多个作者,每一个作者都可以自由创作他们自己的posts,编辑和删除它们,而不允许对别人的posts做任何的改动. 创建所有用户的相关代码 首先,让我们在数据库中新建一个表来保存用户的数据 CREATE TABLE users ( id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, user…
这是我的真心体会,在尝试使用Laravel.ThinkPHP.Yii.symfony2.CI.cakephp.Yii2 之后的真实想法(default7#zbphp.com). 1)ThinkPHP (版本号3.1.3) 我一開始用到的是ThinkPHP 3.1.3,入门门槛就是网址与方法相应这一点.当初我接触ThinkPHP3.1.3的时候事实上3.2版本号刚出不久,3.2与3.1.x相比是部分重构,用上了最新的命名空间,考虑到购买的虚拟主机可能不支持命名空间(命名空间必须PHP 5.3.3+…
CakePHP 2.x => 3.x 升级手顺 一.Controller层 1.find('list') 原2.x中该方法通过指定option中的'fields'来实现key=>value 3.x通过option中的'keyField'和'valueField'来替换,返回值需要用toArray()进行转换 2.find('first').find('count') 3.x中已经完全废弃掉这两个参数,而使用find()->first()以及find()->count()进行替换 3…
今wamp已安装cakephp3.x什么时候.报告这样的错误:Fatal error: You must enable the intl extension to use CakePHP. in D:\wamp1\www\cakephp\config\bootstrap.php on line 38.查了非常多资料.发现还是没用!最后.看cakephp手冊Cookbook 3.x才发现早已经有了解决方式: In WAMP, the intl extension is "activated&quo…
原文:http://debuggable.com/posts/learning-from-the-cakephp-source-code-part-ii:480f4dd6-57fc-4715-8709-439acbdd56cb 这段评论有意思: 非常正确,确实应该从代码入手! Hey Felix! As you wrote in Part I most of Cake's core code is "delightful and should help you to become a bette…