thinkphp5使用H-ui后台转载

原创
小哥 3年前 (2022-11-08) 阅读数 136 #PHP
文章标签 PHPthinkphp

1开发环境描述:
1)软件版本:thinkphp5.0.12_full,Wampserver64(php5.6.xx,apache2.4.xx,mysql5.7.xx),H-ui.admin_v3.1.xx。
版本不需要完全相同,它是相同的级别,并且可以使用。phpStudy取代Wampserver。
2)下载并安装
下载说明不多,上百度。
安装:
先安装产品Wampserver64,选择没有大脑的目录next只是(我的安装在D:\tools\wamp64),然后在www在目录(我在这里)下创建您自己的项目名称。bolg示例),解压缩tp5安装包,放入D:\tools\wamp64\www\blog下面。开始apache,在浏览器中访问门户文件:http://localhost/blog/public/index.php,出现下图以说明成功

2、配置thinkphp5与H-ui项目开发结构
关于tp5互联网上有很多结构,这里不做解释。
tp5保持着php一贯的灵活性和便利性,加上路线的多样化配置,sql形式多样,代码更是不受约束。让我多年来一直这样java程序员强迫症,给我这个tp5该项目是“受监管的”。
1)创建开发模块
tp5开始往MVVM当然,发展的方向仍然是完美的支撑。MVC。小项目MVC够了,这是媒体。MVC图案设计项目结构。
tp5所有开发模块都放置在application中,在tp5在给出的例子中application/index/controller/Index.php中有一个index函数,我们要访问它,要对应一个什么样的URL呢?
tp5以单一入口模式访问应用程序,所有对该应用程序的请求都被定向到该应用程序的入口文件,即:http://localhost/blog/public/index.php。然后依次为:模块/控制器/操作(依次可理解为:模块文件夹名称/控制器类名称/公共方法名)。因此,访问路径为:http://localhost/blog/public/index.php/index/Index/index
经过半天的讨论,我们只需要按照示例构建我们自己的模块名称。创建模块可以通过命令生成(需要配置环境变量)。为了节省大家的时间,这里采用了直接创作的方式。下面是一个“博客分类”的例子:
a、在application在文件夹下创建admin文件夹;
b、在admin下创建好controller、model、view文件夹和common.php、config.php这两个php文件(这两个文件先留空,然后模块有常用的方法和配置放在这里)。
c、在controller在在目录下创建BlogCategory类(大型驼峰模式),以及test测试功能,如图所示:

在浏览器中输入http://localhost/blog/public/index.php/admin/BlogCategory/test在面试中,你会发现你报告了一个错误,并说BlogCategory并不存在。原因是tp5.0有一个URL默认的自动转换配置将驼峰转换为下划线连接,即:blog_category。因此,在浏览器中输入。http://localhost/blog/public/index.php/admin/blog\_category/test你可以去看看。为了保持驼峰通道,只需要修改公共通道config.php下的url\_convert=false,如图

请注意,当我们访问时,我们同意使用小驼峰,即第一个字母是小写的:http://localhost/blog/public/index.php/admin/blogCategory/test(默认情况下,URL地址中的控制器和操作名称不区分大小写)。
2)配置虚拟主机
在接下来的开发过程中,总是需要输入很长的条目文件地址列表,这不是很方便,特别是当有多个测试参数时。以下是如何在中执行此操作的简要说明。Wampserver在中配置虚拟主机。
我打算在这里用它。timblog.com取代掉http://localhost/blog/public。
首先打开Wampserver的httpd-vhosts.conf,如图:

根据原来的配置,添加一个组VirtualHost,如图:

再在C:\Windows\System32\drivers\etc中找到hosts文件,用文本编辑器打开,添加
127.0.0.1 timblog.com如图:

这是配置,请重新启动apache。通过timblog.com/index.php/admin/blogCategory/test你可以去看看。
3)隐藏URL中的index.php
光上面的URL这还不够简单,让我们再隐藏一次。index.php,如果使用apache服务器,只要在index.php同样的项目增加了。.htaccess文件中,其内容为:

[html] view plain copy

  1. < IfModule mod_rewrite.c >
  2. Options +FollowSymlinks -Multiviews
  3. RewriteEngine on
  4. RewriteCond %{REQUEST_FILENAME} !-d
  5. RewriteCond %{REQUEST_FILENAME} !-f
  6. RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
  7. </ IfModule >

tp5默认带出该文件,如图所示:

如果你的index.php移动的位置,并想要URL中隐藏index.php,那么.htaccess应遵循的文件index.php走。
我们的访问要新鲜得多。timblog.com/admin/blogCategory/test

4)使用H-ui样式和插件
H-ui介绍不多,不是很好CSS和布局的小伙伴,这个背景模板,挺不错的。
我这边计划将前台办公室和后台办公室放在同一个项目中,所以,首先static的在在目录下创建admin目录,然后H-ui中的lib、static、temp和favicon.ico)你可以用你自己的logo)拷贝到admin目录中,如图所示:

关于lib下面的ueditor,我们详细解释了集成时的情况,这里忽略了这一点。
5)配置View.php和后台公共模板
我们首先写下访问后台登录和后台主页的方法,并将H-ui中的index.html、login.html和welcome.html页面放入view(记得添加模块目录),如图所示:

原则上,这是可以通过的。URL(timblog.com/admin/index/login、index)来参观,但风格很糟糕。
接下来,我们配置一些常见的替代常量以打开thinkphp/library/think/View.php,找到__construct函数,修改$baseReplace配置,在这里你可以清楚地知道,这些常量放在工程的哪个目录下,我们专门添加了一个供后台使用的常量:__ADMIN__,如图:

其余的只需要将这个常量作为前缀逐个放到静态页面上。以下只是一个示例图:


在行动过程中,你会发现header和footer可以提取的,作为公共人物模板,这里不做太多解释,直接在view在在目录下创建header.html和footer.html,并复制相应内容,如图所示:


其他页面只需在此处介绍公共模板。index.html例如,如图所示:


在welcome.html页面上还引入了公共模板以访问timblog.com/admin/index/login您可以看到效果,如图:

关于index.html自动加载到welcome.html佩奇,我们在开发过程中显然是充满活力的controllerLayer Get,而不是加载如图所示的静态页面:

当然,我们肯定不会在同一个项目中写东西。src=timblog.com/admin/index/welcome此类代码,而不是使用View.php在中配置的替代常量__URL__,如图:

接入后的效果是一样的。
它还没有结束,让我们仔细看看。__URL__配置的价值:

[html] view plain copy

  1. $ base = $request- > root();
  2. ...
  3. ...
  4. __URL__    = > $base . / . $request- > module() . / . Loader::parseName($request- > controller()),

也就是说,当我们进入后台主页时,__URL__特定值为:/admin/index。这有一个问题。它是精确到“控制器”层的,所以当我们想要在左侧菜单中开发业务功能时,它并不容易使用。__URL__因为我们不能把所有的生意都放进去。Index.php在这一个控制器中。如果我们开发了博客分类,我们不能链接它,如图所示:


练习很简单,只要让__URL__精确到/admin(模型层)很好。

[php] view plain copy

  1. __URL__ => $base . / . $request ->module(),

然后动态加载welcome修改成

[php] view plain copy

  1. src= "__URL__/index/welcome"

至此,TP5集成H-ui基本风格已经完成了。
6)全局config.php在中开发时的一些实用配置
a,应用调试模式,则上图中看到的错误处于调试模式。

[php] view plain copy

  1. app_debug => true,

b、控制器类后缀,在开发完所有控制器类后添加一个xxxController后缀。你为什么要加这个?因为我们将在后续的开发中使用它。Model,个人习惯Model直接获取与数据库相关联的名称,而控制层添加一个后缀以查看该名称。配置完成后,应修改相关控制器,否则上报错误。

[php] view plain copy

  1. controller_suffix => true,
版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除

热门