《框架搭建.ppt》由会员分享,可在线阅读,更多相关《框架搭建.ppt(15页珍藏版)》请在三一文库上搜索。
1、构建项目应用 thinkphp开发流程,讲师:马明,开发流程,使用ThinkPHP创建应用的一般开发流程 创建数据库和数据表 项目命名并创建项目入口文件 完成项目配置 创建控制器类 创建模型类 创建模板文件 运行和调试,,创建数据库,创建think_user数据库表 CREATE TABLE joys_user ( id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY , username VARCHAR( 150 ) NOT NULL , password VARCHAR( 100 ) NOT NULL , name VARCHAR( 255
2、 ) NOT NULL , email VARCHAR( 100 ) NOT NULL , reg_date DATETIME NOT NULL , last_login_date DATETIME NOT NULL , active TINYINT( 1 ) NOT NULL , params TEXT NOT NULL , INDEX ( name ) , UNIQUE ( username ), UNIQUE ( email ) ) ENGINE = MYISAM ;,,项目命名并创建项目入口文件,,URL访问,ThinkPHP框架基于模块和操作的方式进行访问,由于ThinkPHP框架的
3、应用采用单一入口文件来执行,因此网站的所有的模块和操作都通过URL的参数来访问和执行。这样一来,传统方式的文件入口访问会变成由URL的参数来统一解析和调度。 例如普通模式下面的URL为: http:/localhost/appName/index.php?m=moduleName&a=actionName&id=1 如果使用PATHINFO模式的话,URL成为: http:/localhost/appName/index.php/moduleName/actionName/id/1/,,目录结构,Common项目公共文件目录,一般放置项目的公共函数 Conf项目配置目录,所有的配置文件都放在这
4、里。 Lang 项目语言包目录(可选) Lib项目类库目录,通常包括Action和Model子目录 Tpl项目模板目录,支持模板主题 Runtime项目运行时目录,包括Cache(模板缓存)、Temp(数据缓存)、Data(数据目录)和Logs(日志文件)子目录,,1, /URL模式 DB_TYPE=mysql, /数据库类型 DB_HOST=localhost, /主机名称 DB_NAME=17joys, /数据库名称 DB_USER=root, /数据库账号 DB_PWD=root, /数据库密码 DB_PORT=3306, /数据库端口 DB_PREFIX=joys_, /数据库表前缀
5、TMPL_L_DELIM=, /模板标签结束标记 APP_DEBUG=true, /开启调试模式 ); ?,完成项目配置,,创建控制器类,新建文件Admin/Lib/Action/UserAction.class.php 在文件中写一个UserAction类并继承Action,在类中写两个公用方法index(),add() display(); public function add() $this-display(); ?,,创建模型类,新建文件Admin/Lib/Model/UserModel.class.php 在文件中写一个UserModel类并继承Model ,,创建模板文件,新建文
6、件Admin/Tpl/default/User/index.html和add.html 在文件中写入HTML代码和ThinkPHP模板代码 用户列表页 用户资料列表 用户名称:$userusername ,,运行和调试,在开启了调试模式之后,我们会看到更加详细的错误信息,调试模式的作用在于显示或者记录了更多的日志信息,以便我们在项目开发过程中快速定位和解决问题。 开启调试模式很简单,只要在项目配置文件里面设置 APP_DEBUG = true,,项目编译,ThinkPHP 正式版本开始引入了新的项目编译机制,所谓的项目编译机制是指系统第一次运行的时候会自动生成核心缓存文件runtime.php
7、和项目编译缓存文件app.php,这些编译缓存文件把核心和项目必须的文件打包到一个文件中,并且去掉所有空白和注释代码,因为存在一个预编译的过程,所以还会进行一些相关的目录检测,对于不存在的目录可以自动生成,这个自动生成机制后面还会提到。当第二次执行的时候就会直接载入编译过的缓存文件,从而省去很多IO开销,加快执行速度。项目编译机制对运行没有任何影响,预编译操作和其他的目录检测机制只会执行一次,因此无论在预编译过程中做了多少复杂的操作,对后面的执行没有任何效率的缺失。,,命名规范,框架必然有其自身的一定规范,在ThinkPHP中亦然。下面是使用ThinkPHP应该尽量遵循的命名规范: 类文件都是
8、以.class.php为后缀(这里是指的ThinkPHP内部使用的类库文件,不代表外部加载的类库文件),使用驼峰法命名,并且首字母大写,例如DbMysql.class.php。 函数、配置文件等其他类库文件之外的一般是以.php为后缀(第三方引入的不做要求)。 确保文件的命名和调用大小写一致,是由于在类Unix系统上面,对大小写是敏感的(而ThinkPHP在调试模式下面,即使在Windows平台也会严格检查大小写)。 类名和文件名一致(包括上面说的大小写一致),例如 UserAction类的文件命名是UserAction.class.php, InfoModel类的文件名是InfoModel.
9、class.php, 函数的命名使用小写字母和下划线的方式,例如 get_client_ip,,Action控制器类以Action为后缀,例如 UserAction、InfoAction 模型类以Model为后缀,例如UserModel、InfoModel 方法的命名使用驼峰法,并且首字母小写,例如 getUserName 属性的命名使用驼峰法,并且首字母小写,例如 tableName 以双下划线“_”打头的函数或方法作为魔法方法,例如 _call 和 _autoload 常量以大写字母和下划线命名,例如 HAS_ONE和 MANY_TO_MANY 配置参数以大写字母和下划线命名,例如HTML_CACHE_ON 语言变量以大写字母和下划线命名,例如MY_LANG,以下划线打头的语言变量通常用于系统语言变量,例如 _CLASS_NOT_EXIST_。 数据表和字段采用小写加下划线方式命名,例如 think_user 和 user_name,,华章培训网版权所有 ,
链接地址:https://www.31doc.com/p-2604306.html