A--快速实例化Action类库

B--执行行为类

C--配置参数存取方法

D--快速实例化Model类库

F--快速简单文本数据存取方法

L--语言参数存取方法

M--快速高性能实例化模型

R--快速远程调用Action类方法

S--快速缓存存取方法

U--URL动态生成和重定向方法

W--快速Widget输出方法


I--获取变量

T--生成模板文件名

G--获取某个区间的运行时间和内存占用情况


'SHOW_PAGE_TRACE' =>true, // 显示页面Trace信息”这句,放在:项目中的Conf/config.php内。


realpath() 函数返回绝对路径。

PHP note

php版本:5.5.9-1ubuntu4.17


die() 等同于 exit();
var_dump() 会返回变量的数据类型和值。
dump()数据格式化。
echo "'<'pre'>'" 以代码形式打印,会保留空格换行等;
$_POST(post表单数组的值);

load()函数临时加载函数。
LOAD_EXT_FILE 配置需要自动加载的函数文件(common文件夹下的common.php会自动加载)。

$this-diplay();

define("GREETING", "Welcome to W3School.com.cn!", true);
.= 串接赋值;
eval() — 把字符串作为PHP代码执行;
isset()--检测变量是否设置,并且不是 NULL。
bool file_exists ( string $filename );— 检查文件或目录是否存在;
bool function_exists ( string $function_name );— 如果给定的函数已经被定义就返回 TRUE;
date("H");
empty();— 检查一个变量是否为空;
请在此时使用 require:当文件被应用程序请求时。
请在此时使用 include:当文件不是必需的,且应用程序在文件未找到时应该继续运行时。

标签的 enctype 属性规定了在提交表单时要使用哪种内容类型。在表单需要二进制数据时,比如文件内容,请使用 "multipart/form-data"。

变量

PHP 中,所有变量都对大小写敏感。
PHP 中,所有用户定义的函数、类和关键词(例如 if、else、echo 等等)都对大小写不敏感。
PHP 有三种不同的变量作用域:
local(局部)
global(全局)
static(静态)
函数之外声明的变量拥有 Global 作用域,只能在函数以外进行访问。函数内部声明的变量拥有 LOCAL 作用域,只能在函数内部进行访问。
global 关键词用于访问函数内的全局变量。
$GLOBALS[index] 的数组中存储了所有的全局变量。
通常,当函数完成/执行后,会删除所有变量。不过,有时我需要不删除某个局部变量。实现这一点需要更进一步的工作。要完成这一点,请在您首次声明变量时使用 static 关键词:
然后,每当函数被调用时,这个变量所存储的信息都是函数最后一次被调用时所包含的信息。

echo - 可以一次输出多个值,多个值之间用逗号分隔。
print -只能输出一个字符串,并始终返回 1。

常量

常量类似变量,但是常量一旦被定义就无法更改或撤销定义。
常量是单个值的标识符(名称)。在脚本中无法改变该值。
有效的常量名以字符或下划线开头(常量名称前面没有 $ 符号)。
注释:与变量不同,常量贯穿整个脚本是自动全局的。

如需设置常量,请使用 define() 函数 - 它使用三个参数:
首个参数定义常量的名称
第二个参数定义常量的值
可选的第三个参数规定常量名是否对大小写敏感(检查的是第一个参数变量名,而不是变量值)。默认是 false(false敏感,true时不敏感!)。

字符窜运算符

. 串接
.= 串接赋值

逻辑运算符

&& and 与;
|| or 或;
xor 异或(值不相同,则异或结果为true。);
! 非;

foreach 循环

foreach 循环只适用于数组,并用于遍历数组中的每个键/值对。
foreach ($array as $value) {
code to be executed;
}


在 PHP 中,有三种数组类型:

索引数组 - 带有数字索引的数组
关联数组 - 带有指定键的数组
多维数组 - 包含一个或多个数组的数组

count() 函数用于返回数组的长度(元素数):
遍历并输出索引数组的所有值,您可以使用 for 循环。
遍历并输出关联数组的所有值,您可以使用 foreach 循环。

sort() - 以升序对数组排序
rsort() - 以降序对数组排序
asort() - 根据值,以升序对关联数组进行排序
ksort() - 根据键,以升序对关联数组进行排序
arsort() - 根据值,以降序对关联数组进行排序
krsort() - 根据键,以降序对关联数组进行排序

超全局变量

超全局变量 在 PHP 4.1.0 中引入,是在全部作用域中始终可用的内置变量。
PHP 中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。在函数或方法中无需执行 global $variable; 就可以访问它们。
这些超全局变量是:
$GLOBALS --用于在 PHP 脚本中的任意位置访问全局变量(从函数或方法中均可)。
$_SERVER--保存关于报头、路径和脚本位置的信息。
$_REQUEST--用于收集 HTML 表单提交的数据。
$_POST--广泛用于收集提交 method="post" 的 HTML 表单后的表单数据。
$_GET--也可用于收集提交 HTML 表单 (method="get") 之后的表单数据。也可以收集 URL 中的发送的数据。
$_FILES
$_ENV
$_COOKIE
$_SESSION



使用命名空间:后备全局函数/常量

在一个命名空间中,当 PHP 遇到一个非限定的类、函数或常量名称时,它使用不同的优先策略来解析该名称。
类名称总是解析到当前命名空间中的名称。因此在访问系统内部或不包含在命名空间中的类名称时,必须使用完全限定名称,
对于函数和常量来说,如果当前命名空间中不存在该函数或常量,PHP 会退而使用全局空间中的函数或常量。


如果文件内容是纯 PHP 代码最好在文件末尾删除 PHP 结束标记。这可以避免在 PHP 结束标记之后万一意外加入了空格或者换行符,会导致 PHP 开始输出这些空白,而脚本中此时并无输出的意图。


操作方法是protected或者private类型的话,是无法直接通过URL访问到该操作的。


ThinkPHP在渲染模板的时候如果不指定模板,则会采用系统默认的定位规则,其定义规范默认是模块目录下面的 View/控制器名/操作名.html,所以,Index模块的index操作的默认模板文件位于Home模块目录下面的View/Index/index.html


要输出视图,必须在控制器方法中进行模板渲染输出操作


display方法中我们没有指定任何模板,所以按照系统默认的规则输出了Index/index.html模板文件。


默认的模板替换规则:



../Public : 会被替换成当前项目的公共模板目录 通常是 / 项目目录 /Tpl/default/Public/
__PUBLIC__ :会被替换成当前网站的公共目录 通常是 /Public/
__TMPL__ : 会替换成项目的模板目录 通常是 / 项目目录 /Tpl/default/
__ROOT__ : 会替换成当前网站的地址(不含域名)
__APP__ : 会替换成当前项目的 URL 地址 (不含域名)
__URL__ : 会替换成当前模块的 URL 地址(不含域名)
__ACTION__ :会替换成当前操作的 URL 地址 (不含域名)
__SELF__ : 会替换成当前的页面 URL

还可以通过在项目配置文件中配置TMPL_PARSE_STRING的值来自定义替换规则,如:
TMPL_PARSE_STRING => array(
'__PUBLIC__' => '/Common' , // 更改默认的 __PUBLIC__ 替换规则
'__UPLOAD__' => '/Public/Uploads/' , // 增加新的上传路径替换规则
)


TMPL_EXCEPTION_FILE 参数设置错误页面路径。


BIND_MODULE常量定义表示绑定入口文件到某个模块


为了安全考虑,避免泄露你的服务器WEB目录信息等资料,一定记得正式部署的时候关闭调试模式。


标准的URL访问格式: http://serverName/index.php/模块/控制器/操作


ThinkPHP在渲染模板的时候如果不指定模板,则会采用系统默认的定位规则,其定义规范默认是模块目录下面的 View/控制器名/操作名.html8953