xdire / dude-pmvc
友好的框架。Duuudeeee!
0.1.7.2
2016-03-25 03:28 UTC
Requires
- php: >=5.5.0
- xdire/dude: >=0.5.5-stable
This package is not auto-updated.
Last update: 2024-09-20 19:08:54 UTC
README
PHP 微型框架 (5.5+ / 7+)
安装:通过 Composer
-
从https://composer.php.ac.cn/download/将 Composer 安装到目标文件夹
-
执行以下命令(假设您已将 Composer 作为 Phar 文件安装到文件夹中)
php composer.phar create-project xdire/dude-pmvc myapp
myapp 文件夹将在您的目标文件夹中创建
mv composer.phar myapp
cd myapp
执行 composer update
php composer.phar update
完成
安装:链接到 Web 服务器
应用程序文件夹结构如下所示
myapp
--|
|- App
|- Drivers
|- public
|- vendor
在您的 Web 服务器中创建新的虚拟主机
将虚拟主机根目录指向 /somepath/myapp/public
Apache 虚拟主机指令
<Directory "/somepath/myapp/public">
AllowOverride None
Require all granted
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php
</IfModule>
</Directory>
<VirtualHost *:80>
ServerName someserver.domain
DocumentRoot "/somepath/myapp/public"
</VirtualHost>
Nginx - 服务器指令
server {
listen 80;
server_name localhost;
location / {
if (!-e $request_filename) {
rewrite (.*)$ /index.php last;
}
}
root /somepath/myapp/public;
index index.php index.html index.htm;
location ~ \.php$ {
fastcgi_param APPENVIRONMENT prod;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /somepath/myapp/public$fastcgi_script_name;
include fastcgi_params;
}
}
安装后
简单方法
在 /AppFolder/App/route.php 中定义一些路由
App::route(ROUTE_ALL,'/',function ($req,$resp) { echo "Hello world"; });
然后访问您的服务器 http://your_server/
复杂方法
1 在 /App/Controller 文件夹中定义一些控制器
namespace App\Controller; use Xdire\Dude\Core\Face\RoutingController; use Xdire\Dude\Server\Request; use Xdire\Dude\Server\Response; class ExampleController implements RoutingController { public function acceptRoute(Request $request, Response $response) { $response->send(200,"<h2>Hey Dude!</h2>Route was accepted"); } }
2 在 /AppFolder/App/route.php 中定义控制器路由
各种请求类型的路由示例
App::route(ROUTE_ALL,'/',function ($req,$resp) { App::routeController('ExampleController@testRoute',$req,$resp); });
仅支持 GET 请求的路由示例
App::route(ROUTE_GET,'/',function ($req,$resp) { App::routeController('ExampleController@testRoute',$req,$resp); });
仅支持 POST 请求的路由示例
App::route(ROUTE_POST,'/',function ($req,$resp) { App::routeController('ExampleController@testRoute',$req,$resp); });
支持的请求类型
ROUTE_ALL
ROUTE_GET
ROUTE_POST
ROUTE_UPD
ROUTE_DEL
ROUTE_PUT
ROUTE_OPT