ThinkPHP开发最重要的细节

浏览:1103 发布日期:2015/10/10 分类:技术分享 关键字: PHP
thinkphp命名
文件名采用驼峰法,首字母大写,
类名和文件名一致方法和属性采用驼峰法,首字母小写
函数名采用小写字母加下划线
数据表加字段采用小写字母加下划线
配置参数和常量使用大写字母加下划线以
双下划线打头的是魔术方法

thinkPHP目录结构
系统目录:
common目录下放公用函数
lang目录下放语言包
lib基类类库目录 lib/org第三方公共类库
tpl系统模板目录
mode框架模式扩展目录
vender第三方类库目录
项目目录:
command项目公共文件
conf项目配置目录
lib项目类库目录
tpl项目末班目录
runtime项目运行缓存和日志目录

thinkphp惯例配置文件
Thinkphp/common/convention.php
项目配置文件
Conf/config.php

thinkPHP缓存
define('RUNTIME_PATH','./MyApp/temp/'); 定义缓存存放路径
define('NO_CACHE_RUNTIME',True); 不生成核心缓存
define('STRIP_RUNTIME_SPACE',false); 对于编译缓存的内容是否去掉空白和注释

thinkPHP类库导入,Think,ORG,Com将默认为系统基类库下相关目录
import("Think[ORG][Com].util.session") 将导入系统基类的lib/Think[ORG][Com]/util/session.class.php
import("MyApp.Action.UserAction") 将导入MyApp/lib/Action/UserAction.class.php
等同于 import("@.Action.UserAction");
Vender('Zend.Filter.Dir') 将导入第三方类库目录vender/zend/fileter/dir.php
'APP_AUTOLOAD_PATH' => 'Think.Util.,ORG.Util.', 设置附加文件的自动导入路径,增加了一个ORG目录下
,注意需要多加一个点。

thinkPHP入口文件
<?php
define("THINK_PATH","./ThinkPHP");
define("APP_PATH","./home");
require(THINK_PATH."/ThinkPHP.php");
App::run();
thinkPHP常用项目配置,位于项目目录下的conf/config.php
<?php
return array(
'APP_DEBUG' =>true,
'DB_TYPE' =>'mysql',
'DB_HOST' =>'localhost',
'DB_NAME' =>'think_test',
'DB_USER' =>'root',
'DB_PWD' =>'usbw',
'DB_PREFIX' =>'think_'
);
在方法中临时设置某一配置值采用 C('参数名称','新的参数值');

thinkPHP分组
配置文件中加入
'APP_GROUP_LIST'=>'Home,Admin',
'DEFAULT_GROUP'=>'Home',
项目目录结构中,每层加上Home,Admin的文件夹分层
访问效果
index.php/Home/index,由于Home是默认分组,所以还可以写为 index.php/index
idnex.php/Admin/index
model类可以不分组

URL伪静态
'URL_HTML_SUFFIX' =>'.shtml', 将所有路径后加上.shtml的伪静态效果
URL重写
apache的http.conf配置文件中加载 mod_rewrite.so模块
AllowOverride None的None改为All
确保URL_MODEL设置为2
将.htaccess文件放到入口文件同级目录下
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>
重启后就可以省略掉index.php
欢迎来猿团学习PHP开发:http://peixun.yuantuan.com/
最佳答案
评论( 相关
后面还有条评论,点击查看>>