the-matrix/slim-dic-example

一个使用 Symfony DIC 创建超薄 MVC 的 Slim 框架骨架应用程序

3.0.0 2018-04-03 19:47 UTC

This package is auto-updated.

Last update: 2024-09-22 23:44:50 UTC


README

PHP 5.6 PHP 7.1

使用此骨架应用程序快速设置并开始使用新的 Slim Framework 3 应用程序,该应用程序结合了 Symfony 2 依赖注入组件Symfony 4 依赖注入组件 的强大功能。

Symfony 2 支持 PHP 5.6。Symfony 4 支持 PHP 7.1。

此演示还使用了 Sensio Labs 的 Twig 模板库,但您不必使用它 - 您可以使用 Smarty 或原生 PHP 用于视图脚本 - 这取决于您,- 只需根据您的需求配置 DIC 定义文件即可。(如果这样做,别忘了在 composer.json 中添加/删除依赖。)

还包括了一个最小化的控制器(MVC)实现,允许您将路由从网站应用程序逻辑中分离出来。同样,如果您不想使用它,您不必使用它。

此骨架应用程序是为 Composer 构建的。这使得设置新的 Slim 框架应用程序变得快速简单。您不应该将其作为 composer 的需求包含在内,而是用它创建一个新的 Composer 应用程序并继续进行。

这是一个 PHP5.6+ 应用程序

安装 Composer

安装 [Composer] (https://getcomposer.org.cn/)。将 composer.phar 文件链接到 /usr/local/bin 或您的 ~/bin 目录,具体取决于您的环境,例如。

    cd ~/bin
    ln -s /path/to/composer.phar composer
    chmod u+x composer

安装应用程序

安装 Composer 后,从您想安装新的 Slimdic 应用程序的目录的下一级目录运行此命令。

composer create-project the-matrix/slim-dic-example my-app-name 3.*

将 my-app-name 替换为您新应用程序期望的目录名。当安装程序询问 您想删除现有的 VCS (.git, .svn..) 历史?[Y,n]?

然后输入 'Y'。

(NB. 如果您想要此库的 Slim 2 + Symfony 2 版本,请在上面的版本号中使用 1.*。)

本节其余部分属于“教奶奶吸鸡蛋”的一般标题,但嘿 - 某个人是新手!

您需要做的是

  • 将您的虚拟主机文档根指向您新应用程序的 public/ 目录。

  • 确保您的 Web 服务器有权访问您的根目录。它需要能够读取和写入适当的目录,例如。

    sudo chgrp -R apache my-app-name
    sudo chmod -R g+r my-app-name
    sudo chmod -R g+w my-app-name/spool

确保您和服务器都可以读取和写入。NB,检查服务器运行的用户名,例如

    ps aux | grep httpd
    # or
    ps aux | grep apache

通常就能解决问题。

请注意安全。根据您的服务器设置,将 vhost 设置为只允许公共访问 ./public 目录。应用程序需要能够看到一个目录下的所有内容,而不能再多。

根据您的 vhost 设置,您可能需要向 /etc/hosts 文件中添加条目。我喜欢为我在上面开发的应用程序设置单独的 dns 名称,所以我通常会添加类似以下内容

127.0.0.1 my-app.localhost

到 /etc/hosts。显然,名称需要与您的 Web 服务器 vhost 名称匹配

现在假设您已经拥有了所有这些,将您的浏览器指向虚拟主机名称,然后开始 - 您应该看到一个漂亮的页面。现在浏览到 /logon,查看酷炫的演示登录页面。即使您做错了也没有关系 - 答案将会揭晓。

所以您已经完成了演示。现在看看代码 - 它都在“站点”目录下和 public/index.php 文件中。

记住,一旦您安装了此演示模板,您就可以更改它,无需担心 composer update 会覆盖您编写的任何代码。这只会更新您在 composer.json 文件中定义的任何包。

更多阅读

站点目录

使用控制器

查找更多

查看更多包,请访问 ZF4 包

历史

V1.0.0 Slim 2 + Symfony 2

V2.0.0 Slim 3 + Symfony 2

V2.0.1 添加链接到包

V2.0.2 从 Nigel Greenway 的错误修复

V2.0.3 代码清理。修复 readme 中的错误。从 Nigel Greenway 的错误修复

V2.1.0 更新以支持 PHP 7.1

V2.1.1 更新 composer - 由于 packagist composer.json 格式更改而强制更新

V3.0.0 BC 破坏。移除对 PHP <5.6 的支持