tp框架概述、composer、安装及启动、基础:
tp框架概述 thinkphp国人开发、资料多(中文社区及文档) composer简介 指挥者、应用市场。 composer是PHP中用来管理依赖关系的工具 composer安装: 配置php环境(php -v)tp5.1.* php版本 5.6.0、php相关扩展 php扩展 extension=php_openssl.dll extension=php_pdo_mysql.dll extension=php_mbstring.dll extension=php_fileinfo.dll extension=php_curl.dll extension=php_gd2.dll extension=php_soap.dll extension=php_mysqli.dll extension=php_sockets.dll 【可选】 composer安装: 下载composer.char、 安装:echo @php "%~dp0composer.phar" %*>composer.bat 验证:控制台输入composer 切换镜像: composer config -g repo.packagist composer https://packagist.phpcomposer.com composer config -g repo.packagist composer https://packagist.laravel-china.org 安装启动 下载:composer create-project --prefer-dist topthink/think=5.1.* tp5 启动: 命令行:php think run 虚拟主机:配置apache虚拟主机、启用.htaccess 框架基础 目录:application、config、public、route、runtime、thinkphp、vendor、composer.json、think 命名规范: 目录:小写+下划线 类:与模块名一直 方法名:小驼峰 属性:小驼峰 常量:大写+下划线 配置参数:小写+下划线 环境变量:大写+下划线 数据库表及字段:小写+下划线 生命周期: 请求、入口文件、引导start.php、注册自动加载、注册错误异常机制、应用初始化、url访问检车、路由检测、请求分类、控制器方法、模型、视图
路由、控制器、请求、响应、视图:
路由 事先规划的方案提交给指定的控制器和方法 路由类型:pathinfo模式、自定义路由规则【推荐】 路由相关配置:config/app.php 'url_route_must' => true, # 强制路由 'route_check_cache' => true, # 路由缓存 'route_complete_match' => true, # 完全匹配 定义路由:/routes/route.php Route::请求方式('路由表达式',匿名函数); Route::请求方式('路由表达式','[@]模块名/控制器名/方法名'); 请求类型:get、post、put、delete、路由参数:选填、必填 Route::get('new/:id','News/read'); Route::get('new/[:id]','News/read'); 路由分组:嵌套嵌套 Route::group(['method'=>'get'], function () { Route::group('blog',function(){}... }->pattern(['id' => '\d+']); 控制器:application/app.php 'controller_suffix' => false, 控制器后缀。 命令行创建分组:php think build --module 分组名称 创建:【手动、命令行】 php think make:controller --plain 模块名/控制器名 调试:config/app.php、或.env app_debug、app_trace 前置操作: beforeActionList属性 页面跳转: $this->error、success 请求 门面类、依赖注入、辅助函数 Request::param $request->get input('get.id') 响应: return str 'default_return_type' => 'json', return json($data,code); return json($data)->code()->header([]); redirect('地址或方法',数组); 视图 视图目录(view)/控制器名(小写)/方法名(小写)+ 模板后缀(框架的默认视图文件后缀是.html) 渲染: $this->fetch()、view() assign、compact view::share([]); 变量:{$var} 函数:{:md5()}、{$var|md5} 原样输出:{literal}helll {$var}{/literal} 循环:foreach、volist 条件:{if}{elseif /}{else}{/if} 模板继承:{extend name}、{block name}{/block}