phpzm / simples.cloud
Requires
- phpzm/core: ^0.0.4
This package is not auto-updated.
Last update: 2020-01-19 14:40:25 UTC
README
“Simples”是一个集合了一系列用于快速并以极简方式工作与PHP的包的项目。少即是多!
安装
要开始使用Simples,您可以使用以下命令
$ composer create-project phpzm/simples
或者从存储库的master分支复制
$ git clone https://github.com/phpzm/simples.git <dir> $ cd <dir> $ rm .git $ composer install
目前,您已经下载了基本架构,需要配置一些细节才能使用基本资源愉快地开发PHP网站或系统。
环境配置
以下提供的基础配置有两个,它们都指向相同的URL:https://:8080
在开始任何服务器模式之前,请复制项目提供的示例.env
文件
$ composer run env:init
Docker
创建项目提供的示例文件的副本
$ composer run docker:init
然后您可以使用习惯的命令来运行容器或使用
$ composer run docker:serve --timeout=0
内置服务器
要使用PHP附带的开发服务器,请使用以下命令
$ composer run php:serve --timeout=0
如果一切顺利,访问URL https://:8080
,您将看到我们的默认介绍页面
概述
好的,应该工作的URL一切正常,但让我们总结一下使其运行发生的事情。
/public
在这个目录中,您将找到应用请求的唯一入口点。在打开其中的index.php
文件后,我们首先与Simples的文件进行交互。除了PHP文件外,还有我们通常称为assets
的文件。它们是图像、样式文件和用于增强应用资源视觉效果的资源。这个目录将用于公开文档,任何人都可访问。
/config
此目录包含用于配置应用行为的PHP文件列表。当您查看这些文件时,您会看到有一个名为env
的函数被用来定义一些属性。这个函数从.env
中检索值。
/app
最后,我们到了派对发生的地方。Simples带有适当的配置,可以使用此目录查询您将创建的文档。由于您可以做很多事情,因此我们将一切分成几个部分。
/app/resources
间接包含与资源组成相关的文档。它最初配置了3个目录(email, locales, view),但您可以随意扩展它。您可以在下面的文件 config/app.php
中看到类似的配置指令。根据示例,我们可以使用助手函数 config('app.resources.root')
,它将返回值 app/resources
,这就是Simples如何定位使用到的资源。
[config/app.php]
<?php (...) 'resources' => [ 'root' => 'app/resources', ] (...)
我们将在模板部分的章节中了解更多关于这部分 views
以及其使用方法。
/app/routes
这是一个建议使用的路由路径。它在 config/route.php
中进行了描述,您可以在那里指定一个数组,包含将要初始化以组成应用程序路由的文件。
[config/route.php]
<?php (...) 'files' => [ 'app/routes/index.php' ] (...)
因此,当HTTP请求发送到 public/index.php
时,它将开始在 app/routes/index.php
文件中寻找路由。在创建路由的章节中,我们将看到如何使用Simples有组织地创建路由。
/app/src
这个文件夹直接与 Composer
的 autoloader
相关,通过 composer.json
中的配置。
[composer.json]
(...)
"autoload": {
"psr-4": {
"App\\": "app/src/"
}
}
(...)
也就是说,您将使用的默认命名空间是 App
,并且文件应该位于上述文件夹中。当然,您可以修改这一点。请注意,当您使用 PSR-4
规约并在文件中使用适当的命名空间时,可以透明地使用它。我们将在结构组装的部分详细说明这一点。
/storage
为了指示一个初始建议的路径,我们建议在项目根目录下创建一个名为 storage
的文件夹来维护不允许公开访问的文档。
/vendor
文件夹 vendor
是由 Composer
自动创建的。它包含项目将使用的依赖项和文件加载配置。默认情况下,它已配置在 .gitignore
文件中,以被 Git
忽略。
开始工作
创建路由
哪个路由(或哪些路由)将被调用,默认情况下配置在 app/config/route.php
中。
可以通过路由文件来配置对应用程序资源的访问。命令可以直接写入文件主体(其中变量 $router 可通过作用域访问)或使用接收 $router 作为参数的闭包返回值。
简单路由
return function($router) { $router->on('GET', '/', function() { return 'Hello World!'; }); }
动态路由
return function($router) { $router->get('/:controller/:method', function($controller, $method) { return 'Hello World!'; }); }
路由组
return function($router) { // lista com arquivos de rota $router->group('GET', '/site', ['more/files/routes.php', 'more/files/site.php']); // pasta que contém arquivos de rotas $router->group('*', '/api', 'api/routes'); }
与控制器交互的路由
return function($router) { $router->post('/client/save', '\Namespace\ClientController@save'); $router->resource('client', '\Namespace\ClientController'); }
$router->resource
会创建
动词 | 路径 | 操作 | 路由名称 |
---|---|---|---|
GET |
/route
|
index | route.index |
GET |
/route/create
|
create | route.create |
GET |
/route/{id}
|
show | route.show |
GET |
/route/{id}/edit
|
edit | route.edit |
POST |
/route
|
store | route.store |
PUT/PATCH |
/route/{id}
|
update | route.update |
DELETE |
/route/{id}
|
destroy | route.destroy |