slim3.0应用小实例

时间:2017-01-20 17:18:07 类型:PHP
字号:    

看过php slim 文档后, 做了个小的应用实例, 尽可能把常用到的一些功能都应用上用, 这里与大家做个分享, 方便大家对php slim框架的应用, 文件最后有应用实例下载:


  • 1. 这里对文件结构做个大体介绍:
  • 2. 文件项目文件夹有: 
  • 3. 设置根目录为: public, pubic下面的index为唯一入口文件有: 
      
      
  •  
  • 4. SRC文件夹下为主要源文件[首页运行时加载以下文件]:
      1> dependencies.php 依赖容器[把需要用到类注入此容器, 方便调用时加载]
      2> middleware.php 中间件[希望在应用开始前或者后进行的操作, 相对来说用的比较少]
      3> routes.php 路由[几乎所有的操作都放在这里调用, 相当于传统MVC的Controller]
      4> setting.php 全局变量配置[实例化APP时, 将变量存储到容器中, 应用中需要时可以直接读取]
      5> extend文件夹下存放自定义的类
      6> helper文件夹下存放自定义的函数文件
      
  • 5. templates为视图文件[slim一般做API用,不使用视图,但还是可以用的]
      1> 安装: 在项目下 通过 composer require slim/php-view 命令安装
      2> 注册:在容器里 注册且设置模板路径, 详细见src/dependencies.php文件中操作
      3> 调用:在路由里 return $this->view->render($response, 'params.php', [ 'args' => $args, ]);
  • 6. 配置数据库访问
      1> 在src/settings文件配置数据库访问信息:
    'db' => [ 'host' => "localhost", 'user' => 'root', 'pass' => 'root', 'dbname' => 'myapi' ],
      2> 容器注册src/dependencies.php:
    $container['db'] = function($c){   $db = $c["settings"]["db"];   $pdo = new PDO("mysql:host=" . $db['host'] . ";dbname=" . $db['dbname'],$db['user'], $db['pass']);   $pdo->exec("SET names 'utf8'");   return $pdo; };
      3> 调用:在路由 调用: $this->db->query($sql);
  • 应用实例下载:/public/static/uploads/pic/201701/20/20170120518002118679273.zip