phpzm/simples.cloud

此包已被废弃,不再维护。没有推荐替代包。

安装: 11

依赖: 0

建议者: 0

安全: 0

星标: 2

关注者: 3

分支: 0

开放问题: 0

类型:项目

0.0.1 2016-10-31 15:07 UTC

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

这个文件夹直接与 Composerautoloader 相关,通过 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