安装
事实上,QueryPHP 也是一个普通的 PHP 框架,目前最低版本要求 PHP 7.1.3,我们对环境并没有特别的要求。
- PHP ^7.1.3
- ext-mbstring 字符处理
- ext-openssl
我们系统依赖的组件可以通过 composer.json 找到,我们提供了大量开箱即用的功能。
实际上,QueryPHP 对于环境来说安装一个 PHP 7.1.3
及以上版本即可,这个时候甚至无需安装 Nginx 而使用 PHP 内置 webserver 即可将 QueryPHP 跑起来。
对于每位 PHP 工程师来说,您的电脑早已经运行着一个 PHP 7 版本,接着您可以进行安装了。
QueryPHP 使用 来管理整个项目依赖,因此确保您已经安装了 Composer。###
国外镜像访问速度很慢,我们建议通过下面的方式使用国内镜像。
- 镜像 1 https://pkg.phpcomposer.com/
- 镜像 2
composer config -g repo.packagist composer https://packagist.laravel-china.org
你可以在终端中运行 create-project
命令来安装 QueryPHP.
composer create-project --prefer-dist hunzhiwange/queryphp myapp
或者体验开发版本
运行
你也可以简单实用 PHP 内置的服务器来运行 QueryPHP,当然更好的选择配置 Nginx 站点。
php leevel server <Visite http://127.0.0.1:9527/>
- Mvc 路由
- Mvc restful 路由 http://127.0.0.1:9527/restful/123
- 指定方法的 Mvc restful 路由
- 注解路由 http://127.0.0.1:9527/api/v1/petLeevelForApi/helloworld
- 带有绑定的注解路由
- php leevel link:public http://127.0.0.1:9527/public/css/page.css
- php leevel link:storage
- php leevel link:apis http://127.0.0.1:9527/apis/
- php leevel link:debugbar
::: tip
QueryPHP 在 composer 安装过程中自动运行了创建软连接的命令将一些非 web 根目录的站点映射到根目录,
这样我们可以使用内置的服务来访问这些链接。这些服务包含: 公共资源(public)、上传文件(storage)、
Swagger Api(apis)、Debugbar 调试(debugbar)。
:::
QueryPHP 在初始化应用程序会自动帮您创建 .env
和 phinx.yml
文件。
- .env (系统配置文件)
- phinx.yml (Phinx 数据库迁移命令配置,与 .env 独立)
您必须将 web 站点的根目录指向 目录,其中 index.php
是整个应用的单一入口文件,例如 Nginx。
root /data/codes/queryphp/www;
index index.html index.php;
目录权限
笔者的 QueryPHP 项目采用 VirtualBox + Vagrant 搭建的开发环境,跟 Laravel 提供的 Homestead 是一种开发环境,当前开发环境如下:
- Macos High Sierra 10.13.2
- Atom with vim plugin、Subtime text3
- VirtualBox 5.2.8
- Vagrant
- ubuntu-16.04-LTS
- mysql-5.6.28
- php-5.6.23
- php-7.1.6
- php-7.2.1
- redis-2.8.17
建议开发者使用 Laravel 来搭建 PHP 开发环境蛮不错的,也可以自己维护一套镜像。
首先需要在 ubuntu 虚拟机创建一个站点的配置文件,例如 /server/nginx-1.6.2/vhosts/queryphp.conf
:
::: tip
笔者因为会在 Mac 中将端口转发到虚拟机中的 8080 端口,您的开发环境直接配置 80 端口即可。
:::
修改虚拟机 /etc/hosts
,添加几个测试域名,后面 这些主要用于调试路由域名匹配,可以不要 。
Mac 系统的 /etc/hosts
也需要添加这些如下域名。
127.0.0.1 queryphp.cn
127.0.0.1 www.queryphp.cn
127.0.0.1 test.queryphp.cn
127.0.0.1 vip.queryphp.cn
127.0.0.1 x.vip.queryphp.cn
重启 Nginx
- 首页 http://queryphp.cn/
- Mvc 路由
- Mvc restful 路由 http://queryphp.cn/restful/123
- 指定方法的 Mvc restful 路由
- 注解路由 http://queryphp.cn/api/v1/petLeevelForApi/helloworld
- 带有绑定的注解路由
- php leevel link:public http://queryphp.cn/public/css/page.css
- php leevel link:storage
- php leevel link:apis http://queryphp.cn/apis/
Apache
Web 根目录已经内置了 www/.htaccess
文件来为隐藏 index.php,需要启用 mod_rewrite 模块。