推荐设备MORE

网站建站平台介绍—仙桃景区

网站建站平台介绍—仙桃景区

行业知识

YAF架构的取名标准全集和YAF新手入门念书手记和

日期:2021-02-18
我要分享
YAF架构的取名标准全集和YAF新手入门念书手记和普遍难题处理方式 近期看过看laruence的yaf,坚信做PHP都了解yaf(Yet another framework),感觉很非常好。做为第一个用C完成的PHP MVC架构,造成成千上万PHPer钦佩。
将yaf的官方网文本文档,通读过一遍,也动手能力试验了两把,觉得很非常好,令人不可不钦佩。尽管现阶段还没有有将yaf应用到生产制造自然环境,但坚信之后用到得上。

官方网文本文档:manual/ 

 

YAF取名标准  

YAF 取名标准默认设置选用的是驼峰取名法

案例:

1、操纵器:

 

class HelloController extends Yaf_Controller_Abstract
 public function indexAction()
 $this- getView()- assign( say , Hello world! 
 public function nameAction()
 $this- getView()- assign( name , yaf 
}
我能见到:

 

类名:文档名+Controller,选用驼峰取名法,首英文字母英文大写

方式名:姿势名+Action,选用驼峰取名法,姿势名首英文字母小写

2、主视图文档

 

public function indexAction()
 $this- getView()- assign( say , Hello world! 
}
index 方式,默认设置会把 自变量 say 值分派给 主视图文档 views/hello/index.phtml

 

 

public function nameAction()
 $this- getView()- assign( name , yaf 
}
name 方式,默认设置把自变量 name 分派给主视图文档 views/hello/name.phtml

 

大家能看到,主视图文档都放到以类名(小写)为文件目录的文档夹中,不一样方式对用不一样主视图文档。

 

下边说下一些通用性的标准: 融合yaf的编码取名标准及PEAR取名标准,我想严苛操纵一下编码的取名标准(客观事实上早已应当高度重视起來),看上去技术专业点儿。

1.通用性标准

全部文档及文档夹取名都选用小写(yaf规定mvc中的model,controller,plugin等类文档有此外的标准以外),好几个英语单词下列画线做隔开,取名时选用规范的英语(英语缩写),不选用拼读与英语的混和

2.类的取名

类名由好几个英语单词构成(yaf规定mvc中的model,controller,plugin等类名有此外的标准以外),每一个英语单词的首英文字母英文大写,英语单词中间用下横线联接,应留意类与父文件目录中间的关联, 一般 文件目录名_类名 , 文件目录首英文字母和类首英文字母英文大写

3.方式或是涵数取名

好几个英语单词构成,除第一个英语单词以外其他英语单词首英文字母英文大写( 驼峰取名 )

4. 自变量取名

全小书写母,英语单词用下横线切分(非驼峰)

上边的內容仿佛太少了,寻找:

manual/

了解一下消化吸收一下:

1.缩近及行的长短

缩近4个空格符,而并不是tab(一些编写器能够配备一个tab意味着好几个空格符,留意是空格符);每列维持大概75-8五个标识符的长短

2.操纵构造

这一一部分最非常容易忽视,也是危害编码艺术美最大要的层面,事例很详尽了,获益匪浅。

[php] 

?php 

if ((condition1) || (condition2)) { 

  action1; 

} elseif ((condition3) (condition4)) { 

  action2; 

} else { 

  defaultaction; 

?  

 

[php] 

?php 

switch (condition) { 

case 1: 

  action1; 

  break; 

 

case 2: 

  action2; 

  break; 

10 

 

11 

default: 

12 

  defaultaction; 

13 

  break; 

14 

15 

?  

 

[php] 

?php 

 

if (($condition1 

  || $condition2) 

  $condition3 

  $condition4 

) { 

  //code here 

10 

?  

 

[php]

?php 

 

$a = $condition1 $condition2 

  ? $foo : $bar; 

 

$b = $condition3 $condition4 

  ? $foo_man_this_is_too_long_what_should_i_do 

  : $bar; 

?  

 

3.涵数启用

[php] 

?php 

$var = foo($bar, $baz, $quux); 

$short  = foo($bar); 

$long_variable = foo($baz); 

?  

 

4.类名标准

[php

?php 

class Foo_Bar 

 

  //... code goes here 

 

?  

 

5.方式名标准(驼峰取名 )

[php] 

?php 

function fooFunction($arg1, $arg2 = ) 

  if (condition) { 

  statement; 

  } 

  return $val; 

?  

 

6.Arrays界定标准

[php] 

?php 

 

$some_array = array( 

  foo   = bar , 

  spam = ham , 

); 

?  

7.注解

manual/en/standards.sample.php

manual/en/standards.header.php

8.Including Code

一切情况下都应当选用include_once或是require_once

require_once foo.php

9.PHP Code Tags

1

?php ?

10.全局性自变量及涵数的取名

假如你的包必须界定全局性自变量,她们的姓名应当刚开始以一个单下横线紧跟之后的是包名和另外一个下横线。比如,PEAR包应用一个全局性自变量名叫 $_PEAR_destructor_object_list;全局性涵数选用驼峰取名,同时以便防止取名矛盾,应当为全局性涵数再加包名随后一个下横线做为全局性涵数取名的作为前缀

11.类特性

全小书写母,英语单词用下横线切分,留意受维护和独享的特性下列画线刚开始

12.变量定义

变量定义英语单词所有英文大写,好几个英语单词用下横线隔开,留意以包名篇为变量定义的作为前缀能够防止取名矛盾

13.文档文件格式

选用utf-8文档编号,以LF(换行符)做为每列的完毕,在PHP的关掉标识? 以后应当也有一个LF

14.不正确级別设定

E_ALL | E_STRICT

15.出现异常解决

manual/en/standards.errors.php

16.PEAR2增加标准

manual/en/pear2cs.rules.php

 

 

YAF架构的新手入门念书手记和普遍难题处理方式小结  

Yaf是一个C語言撰写的PHP架构,以php拓展的方式. 是 laruence(鸟哥) 的著作

 

laruence 是PHP 开发设计构成员, PECL 开发设计者. Yaf, Taint等Pecl拓展创作者.

 

 

线上指南系统软件详细的论述了Yaf的一切,这儿做为学习培训前言,列举Yaf的默认设置个人行为(契约书)

 

0.Yaf 配备文档(php.ini设计风格)

实际上分两台分,一个是php.ini中的配备 yaf. 开始,这一部分一般不是用调节的。

另外一一部分是Yaf_Application原始化時刻的配备 application. 开始

 

配备能够引进php变量定义界定

 

1.Yaf 的务必配备,实际上便是个文件目录设置来源于登博实例教程


Yaf适用尺寸写比较敏感和不比较敏感二种方法,可是也没有寻找尺寸写比较敏感的使用方法(linux自然环境)
类取名和检索标准
类名字 相匹配文件目录
ClassModel models
ClassPlugin plugins
ClassController controllers
别的 library

 

3.Yaf 是根据以包括隔开符 _ 的类名字相互配合文件目录机构,和详细的类取名标准进行类载入管理方法

例如之前给你一个Bar类文档Bar.php,假如采用Yaf里,并全自动载入,那麼就需要那样机构

把Bar.php放进library文件目录下的一身高文件目录里边,例如 myclass

而且要变更Bar.php里边的类名(一般全是Bar的)为MyClass_Bar

换句话说类名务必包括文件目录名 实际表述

 

4.不正确解决

Yaf里边不正确解决能够根据一个操纵器进行,申明在 APP_PATH/ 里


实际看 官方网出示的事例

 

5.主视图view

render主视图必须特定主视图模版文档,能够用相对性(application/views)相对路径或是肯定相对路径

 

6.路由器

Yaf出示了多种多样级別的相对路径适用,正则表达式路由器也是有适用,你可以以用配备文档写路由器,或是在Bootstrap.php里边用php脚本制作写路由器

 

本人觉得Yaf最吸引住人的地区是:来源于登博实例教程

PHP Framework in PHP extension,假如沒有数据信息库浏览的短板导致的木桶效用,Yaf这类方式是最佳的

应用Yaf后在某类级別的运用中运行内存占有应当减少许多

 

7.BUG?发觉以下难题,不知道道是不是是bug [product]默认设置配对设定

Yaf在配对配备文档的节(section)的情况下,并不是对名字彻底配对,例如配备里边有


new Yaf_Application( conf/app.ini , p )//假如沒有p,[product] 仍然合理 span > new Yaf_Application( conf/app.ini , p )//假如沒有p,[product] 仍然合理 8.MVC

Yaf和大多数数架构一样出示了一个默认设置的MVC个人行为,针对M(setDefaultModule)也没有寻找变更起效的方式。
C和V是逐一相匹配的,自然能够名字不一样,能够根据Yaf_Dispatcher的setView方式开展设定。

 

9.单例方式类,Yaf中

Yaf_Application
Yaf_Loader
Yaf_Dispatcher
Yaf_Registry
Yaf_Session
类案例 是单例,别的并不是
必须留意假如在Yaf_Controller_Abstract承继类action中应用了forward,那可能造成新的案例目标。

 

10.非嵌套循环Dispatcher(2.x版本号下列)

Yaf对恳求的解决是是非非嵌套循环的,这寓意着全部对 Controller迁移全是非嵌套循环的,假如一个Controller沒有实行完,产生了迁移,那有将会产生不能知的結果乃至不正确,Yaf出示的 forward是等候当今Controller实行结束才解决的,因而假如彻底依照MVC的方法对恳求开展解决,要做到嵌套循环解决的实际效果,必须自身完成编码.步骤相匹配表明。来源于登博实例教程