Slim初体验

Slim是轻量级的PHP框架,而且扩展性比较好,可以方便的集成其它模块。不过Slim还是比较小众的,资料查找起来不是那么多。

使用Slim建站的时候,目录结构怎么设计?可以参考Laravel。Laravel是现在最流行的框架,对于新手过于复杂,学习曲线比较陡,但是其目录结构还是很有借鉴价值的!
目录结构

这里有个问题,还没有搞明白:就是目录“vendor”里面存放的是Bootstrap、jquery等第三方库,这些库是由Composer管理和更新的,在实际使用中却需要放在“public”目录下,否则外部无法访问。

关于Slim的基本使用,网上可以搜到不少的,但是如何在模板文件中输出网站的root url,网上好像没有现成的答案。测试可行的解决方案如下

$container['view'] = function($container){
    $view = new Slim\Views\Twig('..\app\views',['cache' => false]);
    $request = $container->request;
    $uri = $request->getUri();
    $scheme= $uri->getScheme();
    $host = $uri->getHost();
    $port = $uri->getPort();
    $baseUrl = $scheme."://".$host.":".$port."/";
    $view->getEnvironment()->addGlobal('baseUrl',$baseUrl);
    return $view;
};

参数解释如下
- $scheme: http
- $host:localhost
- port:80

$view->getEnvironment()->addGlobal('baseUrl',$baseUrl);将$baseUrl加入到Twig的全局变量中,那么就可以像下面这样的来引用.css、.js、图片等文件了。
<link rel="stylesheet" href="{{ baseUrl }}asset\twitter\bootstrap\dist\css\bootstrap.css" type="text/css">
<link rel="stylesheet" href="{{ baseUrl }}asset\twitter\bootstrap\dist\css\bootstrap-theme.css" type="text/css">
<link rel="stylesheet" href="{{ baseUrl }}asset\components\jqueryui\themes\smoothness\jquery-ui.css" type="text/css">
<link rel="stylesheet" href="{{ baseUrl }}asset\components\font-awesome\css\font-awesome.css" type="text/css">

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值