phpzm/simples

此包已被弃用,不再维护。未建议替代包。

维护者

详细信息

github.com/phpzm/simples

源代码

问题

安装: 72

依赖者: 0

建议者: 0

安全: 0

星星: 17

关注者: 3

分支: 7

开放问题: 2

类型:项目

0.1.6 2017-06-10 21:15 UTC

This package is not auto-updated.

Last update: 2020-01-24 17:04:14 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/"
    }
  }
  (...)

也就是说,您将使用的默认namespace是App,文件应位于上述文件夹中。显然,您可以修改它。请注意,使用PSR-4约定,当您创建具有适当namespace的文档时,您可以透明地使用它。我们将在结构组合部分详细介绍这一点。

/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