Slim初体验

来源:互联网 发布:关于滑板的软件 编辑:程序博客网 时间:2024/06/02 02:35

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">

0 0