1、没有安装wamp环境时,TP项目还能运行起来进行调试吗?

router.php用于php自带webserver支持,可用于快速测试,动命令:php -S localhost:8888 router.php,最好是在public目录下进行启动,这样访问localhost:8888的时候,再会默认走的public目录下的index.php文件,但是此时,如果本地没有数据库的话,可就连接不上数据喽,当然,如果连接的是线上的数据库那就没事!

2、如果用助手函数redirect,记得要return哦

return redirect('User/login');

3、空控制器和空操作在强制使用路由的情况下是不生效的【可以使用Route::miss()代替】,如果是非强制的话,路由miss的优先级是优于空控制器或者空操作的!

'url_route_must' => false,  // 是否强制使用路由,默认为false,true代表强制使用路由

4、多级控制器示例:非强制路由状态下,同时定义了路由,那么默认非路由访问的方式就会失效,除非注释掉定义的路由

Route::get('home/index', 'index/one.Home/index');  // 路由访问方式 http://user.tp5.com/index/home/index
http://user.tp5.com/index/one.home/index  // 这个是非路由访问方式,定义了上面之后,下面的这个就会报错

5、方法注入和属性注入的使用注意事项:

1)常用于控制器初始化位置,方便同一控制器其他方法调用
2)方法注入所对应的方法,应写于对应模块的公有方法里,或者整个项目的公有方法里,即common.php。

/** * 控制器初始化 * {@inheritDoc} * @see \think\Controller::_initialize() */public function _initialize(){    Request::hook(‘user’,‘getUserInfo’);  // 方法注入    Request::instance()->bind(‘user’,new User);  // 属性注入}/** * 控制器首页 */public function index(){    var_dump($info = Request::instance()->user(1));    var_dump($info = Request::instance()->user);}

点赞(118) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部