ThinkPHP 5小知识和常见问题

安装

应用项目:https://github.com/top-think/think 核心框架:https://github.com/top-think/framework 文档:https://www.kancloud.cn/manual/thinkphp5 以上可选择指定版本下载,然后将应用项目解压到网站根目录,进行重命名,如alan,将核心框架拷贝alan目录下,重命名为thinkphp,此时即完成安装。通过访问http://localhost/alan/public/验证安装是否成功。

依赖注入input助手函数 1.自带Server 切换到public目录下执行:

即可在浏览器中执行http://localhost:8080直接进行访问(实际上这是PHP自带的功能) 2.Debug PHP可以通过xdebug来进行断点调试等操作,安装方法: 通过将phpinfo()输出的内容源代码拷贝到https://xdebug.org/wizard.php可获取对应需下载的版本及安装方法,按提示操作即可,在php.ini中需加入的配置

PHP Storm中的配置 Edit Configurations…>左上角加号>PHP Web Application 进入Run/Debug Configurations页面,设置名称 在右侧Configuration下点击Server弹出Servers窗口 点击左上角加号,修改Name,配置Host: localhost 回到Run/Debug Configurations页面在Start URL处输入初始调试页面 点击右上角爬虫图标进行调试 PHP中配置xdebug 3.验证器 独立验证在文件内

验证器封装在单独的文件内

4. 异常Exception 自定义异常可通过修改config.php中的exception_handle来实现 5.日志 日志路径是在框架文件下的base.php中定义的,想改默认路径可在入口文件index.php中进行定义

5. 日志

关闭默认日志将config.php进行如下修改:

手动开启,在方法中加入

6. 数据库

原生SQL: Db::query(‘SELECT * FROM….’)

链式查询:Db::table(‘dbname’)->where(‘id’,’=’, $id)->select();

模型类,继承内置的Model,在controller中执行get方法,如BannerModel::get($id),默认TP会根据模型的类名去数据库中查询同名表,如想要不同的话,在类中定义一个protected $table变量来指定表名即可。

不同于上述方法返回组,采取这种方法返回的是一个对象,因此可以将return json($result)修改成return $result,但默认的返回类型是text/html,可在config.php中

7.模型类

可以通过在模型类中设置protected $hidden = []来指定隐藏的变量,也可以通过protected $visible = []来指定显示的字段

在application目录下创建extra目录并放置配置文件(如setting.php),默认为自动被框架加载,调用可通过config(‘setting.xxx’)来获取

模型类中可通过读取器public function getXxxAttr($value)来对指定数据表中xxx字段进行设置

关联其它模型有一对一有hasOne, belongsTo,区别在于拥有外键方关联另一张表时使用belongsTo, 而关联拥有外键的表时用hasOne

8. 常见配置

9. 路由

10. 事务

 

小技巧

1.PHPStorm中去除未被使用的引用快捷键(Ctrl+Option/Alt+O)

2.PHPStorm自动补全Namespace Preferences > Directories 点击application目录,选中Sources,点击Source Folders下application右侧的P图标,在弹出的窗口中输入app(可通过application/config.php修改默认值app)保存。再次创建类文件时会自动填写Namespace部分的内容

3.命令行创建模型、控制器

扩展:PSR-4与PSR-0

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.