随笔分类 -  PHP

【原创】在Windows系统中使用VC9、VC11编译32位、64位PHP及其扩展
摘要:项目中需要使用runkit模块实现AOP,但是团队成员的开发环境都是Windows,而runkit模块官方没有提供Windows环境下的dll扩展,只能自己编译。 下面是编译过程的分类总结。(操作系统环境为Windows 10 64位中文旗舰版) PHP的编译版本这里的版本指的不是PHP的发行版本, 阅读全文

posted @ 2016-02-01 14:08 刘兴伟 阅读(1769) 评论(0) 推荐(0)

php 5.6 与之前版本不兼容中的数组属性定义辨析
摘要:在php5.6官方文档的不兼容页(http://php.net/manual/zh/migration56.incompatible.php)中提到了几个与以前版本不兼容的情况,其中提到了为类定义数组属性时,不兼容的情况,原文及示例如下:在 PHP 5.6 之前的版本中,为类定义数组类型的属性时, ... 阅读全文

posted @ 2015-08-23 08:05 刘兴伟 阅读(1185) 评论(0) 推荐(0)

div自适应宽度
摘要:对于div自适应宽度,网上的说法基本上都是将要自适应宽度的div放在其它固定宽度的最后,不指定其float属性或将float属性指定为none,比如三栏布局居中的一栏为自适应宽度,就可以这样来定义三栏div:这是左栏这是右栏这是中栏,且自适应宽度效果如下:但是如果我们增加中栏的文字内容,并且为其添加... 阅读全文

posted @ 2014-07-22 10:56 刘兴伟 阅读(17189) 评论(0) 推荐(0)

Zend Framework 2.1.5 中根据服务器的环境配置调用数据库等的不同配置
摘要:在 Zend Framework 1.* 中,可以根据 Apache 服务器的环境配置来让程序调用不同的设置。主要用于在不同情况下,调用不同的数据库、不同的警告和错误级别等:例如,在开发环境下调用本机数据库和最低级别的警告和错误提示,在测试环境下调用测试数据库和最低级别的警告和错误提示,在发布环境中调用正式数据库和较高级别的警告和错误提示。在 ZF 1 中,可以在 Apache 的 SetEnv 指令,配合 ZF 1 的 APPLICATION_ENV 常量,以及项目目录中的 /configs/application.ini 来实现这一目的。Apache 示例:View Code 1 1 .. 阅读全文

posted @ 2013-04-28 11:20 刘兴伟 阅读(1246) 评论(0) 推荐(0)

Zend Framework 2 时区设置警告问题的解决
摘要:按照 Zend 官方文档安装了 Zend Framework,启动之后的默认页显示了如下警告:Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getti 阅读全文

posted @ 2013-04-27 10:20 刘兴伟 阅读(1047) 评论(0) 推荐(0)

phpMyAdmin 3.5.8 在 Safari 中白屏问题的解决
摘要:将 phpMyAdmin 由3.3.3 升级到了 3.5.8,登录后竟然显示白屏?!所用的是 safari 5.1.7 浏览器,怀疑是浏览器惹的祸,切换到 firefox 20,一切正常。看来是 phpMyAdmin 3.5.8 与 safari 5.1.7 不兼容。谷歌之,在http://mymacinations.com/2012/06/19/phpmyadmin-3-5-1-blank-screen/ 中先看到如下描述:可是我的 phpMyAdmin 是3.5.8,如其所言,在3.5.2版中就已经修正了这个 bug 的。继续往下看,下面有人支了一招:在配置文件 config.inc.ph 阅读全文

posted @ 2013-04-16 22:58 刘兴伟 阅读(896) 评论(0) 推荐(0)

Zend Studio 10 phpFormatter 错误的解决
摘要:安装了 Zend Studio 10 之后,开始是可以正常使用的,在使用了一段时间之后,突然出现了如下错误:Error creation processor for extension-point org.eclipse.php.ui.phpFormatterProcessorPlug-in org.pdtextensions.core.ui was unable to load class org.pdtextensions.core.ui.ast.Formatter.org/pdtextensions/core/ui/ast/Formatter : Unsupported major.mi 阅读全文

posted @ 2013-03-23 22:34 刘兴伟 阅读(639) 评论(0) 推荐(1)

CakePHP 2.x CookBook 中文版 第七章 模型 之 数据校验
摘要:数据校验对于任何应用程序,数据校验都是重要部分,因为它有助于确保模型中的数据遵守了应用程序的业务规则。 例如,你可能想要确保密码最少要有8位,或者确保用户名唯一。 定义校验规则使表单处理非常非常简单。校验过程有许多不同的面。本节覆盖的是其中模型这一面。 即:在调用模型中的 save() 方法时发生了什么。 关于如何处理校验错误的显示的更多信息,参见:表单助手。数据校验的第一步是在模型中建立校验规则。这是用模型定义中的 Model::validate 数组实现的:1 class User extends AppModel {2 public $validate = array();3 }... 阅读全文

posted @ 2013-02-20 14:12 刘兴伟 阅读(1543) 评论(0) 推荐(1)

CakePHP 2.x CookBook 中文版 第七章 模型 之 删除数据
摘要:删除数据CakePHP 的模型类提供了几种从数据库中删除记录的方法。deletedelete(int$id=null,boolean$cascade=true);通过 $id 删除记录。默认情况下,同时删除那些依赖于被删除记录的记录。例如,删除一个与许多 Recipe 记录相关的 User 记录(User ‘hasMany’ 或者 ‘hasAndBelongsToMany’ Recipes):如果 $cascade 设置为 true,相关的 Recipe 记录也被删除(模型的 dependent-value 设置为 true)。如果 $cascade 设置为 false,User 删除后,Re 阅读全文

posted @ 2013-02-05 11:35 刘兴伟 阅读(959) 评论(0) 推荐(0)

CakePHP 2.x CookBook 中文版 第七章 模型 之 保存数据
摘要:保存数据CakePHP 会为保存模型数据制作快照。准备保存的数据使用如下基本格式传递给模型的save()方法:1 Array2 (3 [ModelName] => Array4 (5 [fieldname1] => 'value'6 [fieldname2] => 'value'7 )8 )多数时候你无需担心这种格式: CakePHP 的FormHelper和模型的 find 方法都用这种格式打包所有数据。如果使用其它的助手,数据也能方便地以$this->request->data形式使用。下面是使用 CakePHP 模型向数据库表 阅读全文

posted @ 2013-02-04 15:17 刘兴伟 阅读(2076) 评论(0) 推荐(0)

CakePHP 2.x CookBook 中文版 第七章 模型 之 检索数据
摘要:检索数据如前所述,模型层的一个角色是从多种存储中获取数据。 CakePHP 模型类带有很多功能,帮助你搜索这些数据,排序,分页并且进行过滤。你将要使用的很多功能集成于模型的Model::find()findfind(string$type='first',array$params=array())Find 是所有模型数据检索功能的主力。$type可以是'all','first','count','list','neighbors','threaded'或者任何自定义查找类型。 切记, 阅读全文

posted @ 2013-02-04 11:07 刘兴伟 阅读(1712) 评论(0) 推荐(1)

CakePHP 2.x CookBook 中文版 第七章 模型 之 关联:将模型连接在一起
摘要:关联:将模型连接在一起CakePHP 的一个非常强劲的特性就是由模型提供关系映射,通过关联来管理多个模型间的连接。在应用程序的不同对象间定义关系是很自然的。例如:在食谱数据库,一个食谱可能有多个评论,每个评论有一个作者,每个作者可能有多个评论。 以定义这些关系的形式工作,将允许你以一种直观且强大的方式访问你的数据库。本节的目的是展示如何在 CakePHP 中计划、定义以及利用模型间的关系。虽然数据可能来自各种源,但在 web 应用程序中最常见的则是存储在关系数据库中。 本节将覆盖这方面的大部分内容。关于与插件模型一起的关联的信息,请参见 插件模型。关系类型CakePHP 的关系类型有四种: h 阅读全文

posted @ 2013-02-01 15:45 刘兴伟 阅读(2045) 评论(0) 推荐(0)

CakePHP 2.x CookBook 中文版 第七章 模型
摘要:模型模型是应用程序中业务层的类。这意味着它们负责管理工作域中几乎所有的与数据有关的东西:数据校验、交互和信息流演化。通常模型类代理数据,用于 CakePHP 应用程序的数据访问,多数时候它们代理数据库表,但并不限于此,它也可以访问操纵数据的任何事物,如文件、外部 web service、iCal 事件或者一个 CSV 文件的行。一个模型可以与其它模型相关联。例如,一个 Recipe 能够与食谱的 Author 及 食谱的 Ingredient 相关联。这一节将说明模型的哪些特性可以是自动化的,如何覆盖这些特性,以及模型都有哪些方法和属性。还说明了关联数据的不同方法。描述了如果查找、保存和删除数 阅读全文

posted @ 2013-02-01 12:38 刘兴伟 阅读(1322) 评论(2) 推荐(2)

CakePHP 2.x CookBook 中文版 第六章 视图 之二
摘要:主题主题可以使你快捷地切换页面的外观。要使用主题,只需在控制器中指定主题名称:1 class ExampleController extends AppController {2 public $theme = 'Example';3 }在 2.1 版更改:2.1 以前的版本需要使用$this->viewClass='Theme'设置主题。 2.1 删除了这一要求,并在正常的View类中支持主题。也可以在动作或者beforeFilter、beforeRender回调中设置或改变主题:1 $this->theme = 'AnotherExamp 阅读全文

posted @ 2013-01-31 10:29 刘兴伟 阅读(1633) 评论(0) 推荐(1)

CakePHP 2.x CookBook 中文版 第六章 视图
摘要:视图视图是 MVC 中的V。 视图负责为请求生成指定的输出。常用的格式有 HTML、XML 或者 JSON,不过用户可以下载的流文件和 PDF 文件也可以由视图层提供。CakePHP 为多数常用的渲染情况提供了一些内置的视图类: :可以使用JSON 和 XML 视图. 建立 XML 或者 JSON webservices可以使用媒体视图提供受保护的文件,或者动态生成文件可以使用主题生成多主题视图视图模板CakePHP 的视图层决定你如何向用户展示。 多数时候,视图在浏览器中显示 (X)HTML 文档,也可能会需要给 Flash 对象提供 AMF 数据,以 SOAP 形式回复远程应用程序,或者为 阅读全文

posted @ 2013-01-30 15:55 刘兴伟 阅读(1987) 评论(0) 推荐(1)

CakePHP 2.x CookBook 中文版 第五章 控制器 之 组件
摘要:组件组件是在多个控制器中共享的逻辑包。如果你发现自己想要在控制器间复制粘贴某些东西时,你就应该考虑将一些功能包装在一个组件中了。CakePHP 还配备了一套漂亮的、对你有用的核心组件:Security(安全)Sessions(会话)Access control lists(访问控制列表)Emails(电子邮件)CookiesAuthentication(权限校验)Request handling(请求处理)Pagination(分页)这些组件的详细信息都在各自的章节中。 现在,我们将向你展示如何建立你自己的组件。 创建组件可以保持控制器代码整洁,并且允许你在多个项目中重用代码。配置组件一些核心 阅读全文

posted @ 2013-01-30 10:05 刘兴伟 阅读(1313) 评论(0) 推荐(0)

CakePHP 2.x CookBook 中文版 第五章 控制器 之 页面控制器
摘要:页面控制器CakePHP 提供了一个默认的控制器PagesController.php。这是提供静态内容的简单的可靠的控制器。你在安装完看到的主页就是使用这个控制器实现的。 如果你生成了视图文件app/View/Pages/about_us.ctp,你就可以通过 urlhttp://example.com/pages/about_us访问它。你可以自由地编辑这个页控制器 来迎合你的需要。当你 “bake” 一个使用 CakePHP 控制台工具的应用程序,Pages 控制器将被创建在app/Controller/文件夹内。你也可以从lib/Cake/Console/Templates/skel/ 阅读全文

posted @ 2013-01-30 09:57 刘兴伟 阅读(338) 评论(0) 推荐(0)

CakePHP 2.x CookBook 中文版 第五章 控制器 之 脚手架
摘要:脚手架应用程序脚手架是一种允许程序定义和创建具有建立、查询、更新和删除对象的应用程序的技巧。CakePHP的脚手架还允许程序员定义对象如何与其它对象交互,建立或断开它们的连接。脚手架用于建立一个模型和它的控制器。一旦你在控制器中设置了 $scaffold 变量,就可以运行了。CakePHP 的脚手架非常酷。它使你可以在几分种内就完成一个基本的 CRUD 应用程序。它甚至酷到你想在产品应用中使用它。是的,我们也认为它很酷,但是请记住它仅仅是脚手架。它是快速开始项目的随时可以被抛弃的松散结构。 它不完整也不灵活,只是启动和进行的临时方案。如果你发现你想要自定义逻辑或视图,那就是拆下脚手架,开始写自 阅读全文

posted @ 2013-01-29 14:16 刘兴伟 阅读(1132) 评论(0) 推荐(1)

CakePHP 2.x CookBook 中文版 第五章 控制器 之 请求和响应对象
摘要:请求和响应对象在 CakePHP 2.0 中请求和响应对象是新的。在之前的版本中,这些对象是用数组来表示的,相关的方法分散在RequestHandlerComponent、Router、Dispatcher和Controller中。请求包含的信息上没有认证对象。在 2.0 中,CakeRequest和CakeResponse用于此目的。CakeRequestCakeRequest是 CakePHP 中的默认请求对象。它在请求数据中集成了一些咨询和交互特性。 CakeReqeust 建立在每个请求上,并以引用方式传递给使用请求数据的各个层。默认情况下,CakeRequest赋值给$this-&g 阅读全文

posted @ 2013-01-29 09:43 刘兴伟 阅读(1369) 评论(0) 推荐(1)

CakePHP 2.x CookBook 中文版 第五章 控制器
摘要:控制器控制器是 MVC 中的 ‘C’ 。在应用了路由且正确的控制器被找到之后,控制器的动作(action)被调用。控制器将处理解释请求数据,确保正确的模型被调用,确保正确的输出或视图被渲染。控制器可被视为模型和视图的中间人。你要保持控制器很精炼,而模型类很丰满。这会帮助你更容易地重用你的代码,并使你的代码更易于测试。通常,控制器用于管理单个视图逻辑。例如,你为一个在线面包店建立站点,你可能会有一个 RecipesController 和一个 IngredientsController,管理你的食谱和原料。在 CakePHP 中,控制器用它们处理的主要模型命名。也常常会有一个控制器和多个模型共同 阅读全文

posted @ 2013-01-28 16:10 刘兴伟 阅读(1581) 评论(0) 推荐(1)

导航