FineUI 官方论坛

标题: FineUIPHP ThinkPHP 3.x 使用教程 [打印本页]

作者: lvqingan    时间: 2019-6-11 13:55
标题: FineUIPHP ThinkPHP 3.x 使用教程
本帖最后由 lvqingan 于 2019-6-11 14:06 编辑

假设文档路径为 /var/www,解压缩 ThinkPHP 代码包至该目录下,同时将FineUIPHP的代码也解压缩到该目录下

1 入口文件

修改index.php在require './ThinkPHP/ThinkPHP.php';之前添加代码

  1. // 定义应用目录
  2. define('APP_PATH', './Application/');

  3. include_once 'fineui-lib/autoload.php';

  4. // 引入ThinkPHP入口文件
  5. require './ThinkPHP/ThinkPHP.php';
复制代码
2 配置

2.1 模板改为 phtml

注:FineUIPHP 需要在模板中使用原生的 PHP 代码,而不是 TP 的模板标签,所以需要将模板文件的后缀改为 phtml


修改Application/Common/Conf/config.php,增加配置项,将模板改为PHP

  1. <?php

  2. return array(
  3.     //'配置项'=>'配置值'
  4.     'TMPL_TEMPLATE_SUFFIX' => '.phtml',
  5. );
复制代码
2.2 初级化 TP 的行为

增加 Application/Common/Conf/tags.php文件

  1. <?php

  2. return array(
  3.     'app_init'    => array('Common\\Behaviors\\AppInitBehavior'),
  4.     'view_filter' => array('Common\\Behaviors\\ViewFilterBehavior'),
  5. );
复制代码
AppInitBehavior 用来初始化 FineUIPHP 的配置

  1. <?php

  2. namespace Common\Behaviors;

  3. class AppInitBehavior extends \Think\Behavior
  4. {
  5.     public function run(&$param)
  6.     {
  7.         // 初始化配置信息
  8.         \FineUIPHP\Config\GlobalConfig::loadConfig(array(
  9.             'Theme'           => 'Default',  // 默认主题
  10.             'ResourceHandler' => '?m=Resource&c=Handler'  // 资源文件获取入口
  11.         ));
  12.     }
  13. }
复制代码
ViewFilterBehavior 用来解析、转换网页输出内容

  1. <?php

  2. namespace Common\Behaviors;

  3. class ViewFilterBehavior extends \Think\Behavior
  4. {
  5.     public function run(&$content)
  6.     {
  7.         \FineUIPHP\ResourceManager\ResourceManager::finish($content);
  8.     }
  9. }
复制代码
3 静态资源入口文件
创建 Application\Resource\Handler\Controller\HandlerController.class.php 文件


注:文件对应到 AppInitBehavior 中设置的 ?m=Resource&c=Handler,也就是说,如果不想使用这种地址,您也可以自定其他的地址入口

  1. <?php

  2. namespace Resource\Controller;

  3. use Think\Controller;

  4. class HandlerController extends Controller
  5. {
  6.     public function index()
  7.     {
  8.         $handler = new \FineUIPHP\ResourceManager\ResourceHandler();

  9.         $handler->ProcessRequest();
  10.     }
  11. }
复制代码
4 演示例子

修改 Application\Home\Controller\IndexController.class.php

  1. <?php

  2. namespace Home\Controller;

  3. use Think\Controller;

  4. class IndexController extends Controller
  5. {
  6.     public function index()
  7.     {
  8.         $this->display('index');
  9.     }
  10. }
复制代码
增加模板 Application\Home\View\Index\index.phtml

  1. <html>
  2. <head>
  3.     <title>ThinkPHP 3.2 使用教程</title>
  4. </head>
  5. <body style="padding: 20px;">
  6. <?php
  7. echo \FineUIPHP\FineUIControls::textBox()->text('默认文字');
  8. echo '<hr/>';
  9. echo \FineUIPHP\FineUIControls::button()->text('提交');
  10. ?>
  11. </body>
  12. </html>
复制代码

https://github.com/lvqingan/fineuiphp-demo-thinkphp-3.2




欢迎光临 FineUI 官方论坛 (https://fineui.com/bbs/) Powered by Discuz! X3.4