网站首页

[LuPHP] PHPMVC精简框架第一讲(基本MVC框架配置)

中文Lee 2019/12/18 1981人围观


LuPHP是一个精简版的PHPMVC框架,该框架经历了N个高可用系统的测验(数据存储量千万级别,并发1000),该框架结合了市面上流行的PHP框架,去除了臃肿的代码;本框架遵循即用即写的原则,做到项目中绝不存在多余(实际根本用不上)代码!

该框架作者历经10年以上项目研发经验,总结并写出一套适合自己的PHPMVC框架,

框架包括基本的路由功能、数据库操作类、redis类、session类、附件上传类、应用路由功能,还加入LuBatis ,方便DBA维护sql语句;

LuBatis是一款类似java中的mybatis的一个数据库框架,简单理解就是把sql写入xml(配置文件)中,无论是在业务逻辑,还是在控制器中都不出现sql语句,统一由LuBatis进行控制;

源码下载

第一讲:框架配置

1、下载源码并按照说明配置

如果站点根目录为public,则 ROOT_PATH定义为 \dirname(\dirname(__FILE__)) .'/'

如果站点根目录和app 、core 目录为同级目录则ROOT_PATH定义为\dirname(__FILE__) . '/'

如果希望站点为根目录 则需要把public的所有文件包括文件夹移动到public外层

 建议使用public作为根目录,apache 或者nginx配置站点根目录为public

如果是Apache服务器,在 project 目录下新建一个 .htaccess 文件,内容为:

<IfModule mod_rewrite.c>

    # 打开Rerite功能

    RewriteEngine On

    # 如果请求的是真实存在的文件或目录,直接访问

    RewriteCond %{REQUEST_FILENAME} !-f

    RewriteCond %{REQUEST_FILENAME} !-d

    # 如果访问的文件或目录不是真事存在,分发请求至 index.php

    RewriteRule . index.php

</IfModule>

如果是Nginx服务器,修改配置文件,在server块中加入如下的重定向:

location / {

    try_files $uri $uri/ /你的项目路径/index.php$args;

}

==================================================================================================

2、config(配置文件配置)

\config\的文件为配置文件

config.php  数据库链接 / 应用 / redis链接的配置文件;

define.php 公共常亮定义;

2.1 \config\config.php 

<?php

/**

 * * 版权所有 2016-2019 lizhongwen,并保留所有权利;

 * 说明: 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用;不允许对程序代码以任何形式任何目的的再发布;

 * 作者: lizhongwen;

 * 作者主页: http://www.lizhongwen.com;

 * 邮箱: lizhongwen@lizhongwen.com;

 * QQ: 360811363;

 */

$config['db'] = [

    'default' => [

        'host' => '127.0.0.1',

        'port' => '3306',

        'dbName' => 'mvc_test',

        'userName' => 'root',

        'password' => 'root'

    ]

];

/**

 * 应用配置,一个系统站点可能存在多个应用

 * 例如:我们做一个支付系统,其中有管理端,还有商户端,代理端等

 * 我们通过下面配置预先定义好应用的过滤器,

 * filter 是指该应用是否有过滤器,

 * status 该应用状态

 * 例如我们配置的应用为admin(统一小写)

 * 配置完成该项后,新建过滤器文件 \core\appFilter\Admin.php

 */

$config['appName'] = [

    'web' => [

        'filter' => true,

        'status' => true

    ],

    'api' => [

        'filter' => true,

        'status' => true

    ],

    'admin' => [

        'filter' => true,

        'status' => true

    ]

];

/*

 * redis链接信息

 */

$config['redis'] = [

    'default' => [

        'port' => 6379,

        'host' => '',

        'password' => ''

    ]

];

return $config;


2.2 、\config\define.php

<?php

/**

 * * 版权所有 2016-2019 lizhongwen,并保留所有权利;

 * 说明: 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用;不允许对程序代码以任何形式任何目的的再发布;

 * 作者: lizhongwen;

 * 作者主页: http://www.lizhongwen.com;

 * 邮箱: lizhongwen@lizhongwen.com;

 * QQ: 360811363;

 */

\define('APP_DEBUG', true); // 是否开启调试模式,生产环境为false

\define('PUBLIC_CONTROLLER', 'Upload,PublicCode,Index,Login'); // 公共控制器

\define('SESSION_EXPIRE', '144000'); // session过期时间 单位秒

==================================================================================================

3、控制器 (\app\web\controller\Index.php)

<?php

namespace app\web\controller;


use core\Controller;


class Index extends Controller

{

    public function index(){

        $this->view();

    }

}

==================================================================================================

4、视图(\app\web\view\index\index.php)

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Hello World</title>

</head>

<body>

<h1>Hello World</h1>

<h2>能看到这里,说明你的站点配置已经OK了</h2>

</body>

</html>

==================================================================================================

点击下方源码下载部署即可看到效果,

请持续关注,下节课将会讲到 多个应用配置等相关课程!!!

源码下载

相关推荐

  • docker 容器支持中文

    客户有个需求:将table内容转换成图片显示;后端语言采用java;使用组件 HtmlImageGenerator结果发现,windows下中文不乱码,但是用docker部署到linux就乱码了所以先尝试不使用docker,结果还是乱码,然后给服务器安装中文字体(安装方法自行百度),安装好...

  • centos上libreoffice+unoconv安装步骤,实现word转pdf(可以php读取pdf页码)

    php读取docx页码比较难操作,并且读取doc格式的页码数更难搞了,所以先将doc/docx/pptx/ppt 先转换为pdf,然后通过pdf读取页码就比较精确了一、libreoffice安装1、yum search  libreoffice查询一下系统自带的安装包安装libreoffi...

  • java 生成缩略图 imageIO异常:Unsupported Image Type, 不支持图像类型【附解决办法】

    最近再做图片生成缩略图功能,发现大部分的图片都可以生成缩略图,但是偶尔有几个图片会报异常:Unsupported Image Type;几经折腾,发现报异常的图片格式为CMYK 格式,我们常见的图片格式都是RGB格式的,所以我们要把CMYK格式的图片转换成RGB格式的,网上有些办法转化后图片颜色会丢...

  • 编程的程序员们,你们有语言崇拜么?比如PHP是世界上最好的语言

    有个有关程序员语言界的段子:问,你如何让一个论坛的人吵起来?答,PHP是世界上最好的语言。“PHP是世界上最好的语言”,虽然身在IT界,但说实话,这句话直到去年才明白,还是公司里招了个PHP程序员,问的他这句话到底是什么意思。大学中学的语言的话,FoxBase、C、C++,VB,Java,Ruby,...

  • PHP性能优化方案

    常用性能优化方案1.使用单引号替换双引号,单引号在运行的时候不检查运行引号内部的变量,执行效率是双引号的两倍;2.使用PHP内置的数组操作方法,PHP内置的数组操作方法的运行效率是自行编写代码的10倍以上;3.使用字符串函数替换正则函数,例如:使用 str_replace 替换&...

  • 11个代码质量审核和管理工具,程序员收藏

    如今,代码质量分析和审核已成为每个企业的基本流程。随着开源代码库使用的增加,安全性和代码质量对于构建高质量软件至关重要。不良的代码不仅会影响代码的可维护性,而且还会在某些情况下影响其性能。此外,更好的代码质量还有助于企业将来减少维护和降低成本。幸运的是,有很多审核和管理代码的工具,为开发者和程序员提...

  • .htaccess中301强制跳转到带www前缀或不带www的域名

    相信很多站长朋友都有这样的的问题出现。即带www前缀的域名与不带www前缀的顶级域名收录情况是不同的。这个问题主要是由于搜索引擎对于顶级域名与二级域名权重判定不同造成的。毫无疑问地,唯一的域名能够给你带来更多的好处。不管它是带www还是不带www。因为,这样无论用户还是搜索引擎都会记住你网站的唯一域...

  • centos7刚安装的docker 1.13.1启动报错Docker failed to start

    yum install docker device-mapper-event-libs -y   安装dockersystemctl start docker 报错解决 关闭seliunx  修改文件 /etc/sysconfig/docker加上=false...