仓酷云

标题: PHP教程之FleaPHP 开辟指南 - 4. 定名标准和目次... [打印本页]

作者: 兰色精灵    时间: 2015-2-4 00:11
标题: PHP教程之FleaPHP 开辟指南 - 4. 定名标准和目次...
最近陆续的有人问我学习php的心得,现在整理为下面,希望可以对大家有些帮助。标准|开辟指南   FleaPHP 的定名划定规矩和目次布局初看上去对照庞杂,但习气今后,你会发明这类定名划定规矩带来很多优点。因而像 Zend Framework 也是采取一样的做法。
固然,FleaPHP 关于使用法式的定名划定规矩和目次布局没有强迫性请求。只不外采取分歧的定名划定规矩和目次布局,可以便利对使用法式保护。同时 FleaPHP 使用法式开辟者之间也能够更轻易的停止协作。

全局函数的定名划定规矩

全局函数的定名划定规矩是用“_”分隔全小写的单词。例如 get_cache()、echo_h()。同时,函数的名字采取“动词+宾语”的模式。例如 write(动词)_cache(宾语)。
不外有些全局函数为了和 PHP 中已有的相似函数坚持分歧,采取了分歧的定名体例(特地埋怨一下,PHP 本身的全局函数定名对照凌乱,各类模式的都有)。

类的定名划定规矩

一切 FleaPHP 自带的类,都以 FLEA_ 开首。然后依据用处定名。例如 FLEA_Controller_Action、FLEA_Helper_ImgCode。然后将类名字中的“_”交换为目次分隔符,就是这个类的界说文件地点地位。
举例:
FLEA_Controller_Action 类,保留文件为 FLEA/Controller/Action.php
FLEA_Db_TableDataGateway 类,保留文件为 FLEA/Db/TableDataGateway.php
这类定名划定规矩和目次布局的优弱点以下:
长处:
  1. <?phpfunction __autoload($className) { load_class($className);}?>
复制代码
弱点:
关于第一个弱点,利用 Zend Development Environment 或 Eclipse 如许的 IDE 可以减缓。这些 IDE 供应壮大的输出主动完胜利能,凡是输出类名字的开首几个字母,就会显示候选列表闪开发者选择。

变量和常量定名

在 FleaPHP 中,变量分为全局变量、一时变量和模版变量三类。

FleaPHP 的目次布局

一个典范的 FleaPHP 使用法式具有以下的目次布局:

                               
登录/注册后可看大图
这个使用法式的目次次要分为 WebLibs 和 WebRoot。个中 WebLibs 保留法式的一切代码,而 WebRoot 目次下只保留用户可以会见的局部,例如 index.php 进口文件、图片、CSS 款式表和 JS 剧本。
WebLibs 下又分为 FLEA 和 YORK 两个目次。FLEA 目次保留 FleaPHP 的中心文件,而 YORK 目次保留使用法式的代码。之所以取名 YORK,是由于这个项目标公司名为 YORK。所以开辟者在计划目次布局时,可以参照这类体例,为保留使用法式代码的目次取一个轻易了解的名字。
WebRoot 是保留用户利用阅读器可以直接会见的内容,因而需求修正办事器或虚拟主机设置,将网站的根目次指向 WebRoot 目次。例如 www.example.com 指向 /example/WebRoot/。
这里引见的目次布局有以下长处:
长处:
而次要的弱点就是需求修正办事器设置,将网站根目次指向 WebRoot 目次。而有些虚拟主机不答应如许做,或需求接洽办事器办理员,对照费事。
关于这类目次布局,放置在 WebRoot 中的 index.php 进口文件应当明白挪用 import() 将 WebLibs 目次添加到类界说搜刮途径中。不然 load_class() 会找不到需求的文件。
  1. <?phprequire('../WebLibs/FLEA/FLEA.php');import('../WebLibs/YORK/');....run();?>
复制代码
关于虚拟主机用户,可以将 WebLibs 目次挪动到 WebRoot 目次中。构成以下的目次布局:

                               
登录/注册后可看大图
上图中,一切文件都保留在使用法式的根目次 cdhlss 中,而代码文件保留在 libs 子目次中。个中 libs/APP 保留使用法式的代码。
响应的 index.php 需求修正为:
  1. <?phprequire('libs/FLEA/FLEA.php');import('libs/APP/');....run();?>
复制代码
在实践开辟中,因为 FleaPHP 并没有强迫请求定名标准和目次布局。所以开辟者可以持续沿用本人熟习的体例来开辟使用法式。

PHP成功的插入,删除,更新数据的时候,显然,你已经距离成功指日可待了。
作者: 简单生活    时间: 2015-2-4 09:54
曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线  \\\\\\\'_\\\\\\\' ;
作者: admin    时间: 2015-2-6 02:25
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
作者: 透明    时间: 2015-2-15 01:17
有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。
作者: 若天明    时间: 2015-3-4 10:50
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
作者: 只想知道    时间: 2015-3-14 13:14
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
作者: 柔情似水    时间: 2015-3-15 02:26
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
作者: 谁可相欹    时间: 2015-3-17 03:10
如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,
作者: 金色的骷髅    时间: 2015-3-18 21:23
写的比较杂,因为我也是个新手,不当至于大家多多指正。
作者: 因胸联盟    时间: 2015-3-26 15:14
真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,
作者: 再见西城    时间: 2015-4-6 10:38
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
作者: 兰色精灵    时间: 2015-4-13 21:30
装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。
作者: 海妖    时间: 2015-4-18 15:31
说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年  具体的记不清啦,囧。
作者: 第二个灵魂    时间: 2015-4-26 02:12
学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql
作者: 小女巫    时间: 2015-4-29 06:26
要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。
作者: 爱飞    时间: 2015-5-9 17:25
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
作者: 山那边是海    时间: 2015-6-20 05:02
这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己
作者: 蒙在股里    时间: 2015-7-11 23:20
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
作者: 精灵巫婆    时间: 2015-7-13 08:38
本文当是我的笔记啦,遇到的问题随时填充
作者: 灵魂腐蚀    时间: 2015-7-15 07:45
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2