3.2 创建 Blog 程序

最后更新于:2022-04-01 01:17:13

Artisan 是 Laravel 内建的命令行工具,它提供了一些有用的命令协助您开发,它是由强大的 Symfony Console 组件所驱动。 打开终端,进入有写权限的文件夹,执行以下命令生成一个新程序: ~~~ $ laravel new blog ~~~ 或者 ~~~ $ composer create-project laravel/laravel blog --prefer-dist ~~~ 这个命令会在文件夹 blog 中新建一个 Laravel 程序。 > 执行 laravel new -h 可以查看新程序生成器的所有命令行选项。 生成 blog 程序后,进入该文件夹: ~~~ $ cd blog ~~~ blog 文件夹中有很多自动生成的文件和文件夹,组成一个 Laravel 程序。本文大部分时间都花在 app 文件夹上。下面简单介绍默认生成的文件和文件夹的作用: | 文件/文件夹 | 作用 | | --- | --- | | app/ | 包含了站点的 controllers(控制器),models(模型),views(视图)和 assets(资源)。这些是网站运行的主要代码,你会将你大部分的时间花在这些上面。本文主要关注的是这个文件夹。 | | bootstrap | 用来存放系统启动时需要的文件,这些文件会被如 index.php 这样的文件调用。 | | public | 这个文件夹是唯一外界可以看到的,是必须指向你 web 服务器的目录。它含有 laravel 框架核心的引导文件 index.php,这个目录也可用来存放任何可以公开的静态资源,如 css,Javascript,images 等。 | | vendor | 用来存放所有的第三方代码,在一个典型的 Laravel 应用程序,这包括 Laravel 源代码及其相关,并含有额外的预包装功能的插件。 | | app/config/ | 配置应用程序的运行时规则、 数据库、 session等等。包含大量的用来更改框架的各个方面的配置文件。大部分的配置文件中返回的选项关联PHP数组。 | | app/config/app.php | 各种应用程序级设置,即时区、 区域设置(语言环境)、 调试模式和独特的加密密钥。 | | app/config/auth.php | 控制在应用程序中如何进行身份验证,即身份验证驱动程序。 | | app/config/cache.php | 如果应用程序利用缓存来加快响应时间,要在此配置该功能。 | | app/config/compile.php | 在此处可以指定一些额外类,去包含由‘artisan optimize’命令声称的编译文件。这些应该是被包括在基本上每个请求到应用程序中的类。 | | app/config/database.php | 包含数据库的相关配置信息,即默认数据库引擎和连接信息。 | | app/config/mail.php | 为电子邮件发件引擎的配置文件,即 SMTP 服务器,From:标头 | | app/config/session.php | 控制Laravel怎样管理用户sessions,即session driver, session lifetime。 | | app/config/view.php | 模板系统的杂项配置。 | | app/controllers | 包含用于提供基本的逻辑、 数据模型交互以及加载应用程序的视图文件的控制器类。 | | app/database/migrations/ | 包含一些 PHP 类,允许 Laravel更新当前数据库的架构并同时保持所有版本的数据库的同步。迁移文件是使用Artisan工具生成的。 | | app/database/seeds/ | 包含允许Artisan工具用关系数据来填充数据库表的 PHP 文件。 | | app/lang/ | PHP 文件,其中包含使应用程序易于本地化的字符串的数组。默认情况下目录包含英语语言的分页和表单验证的语言行。 | | app/models/ | 模型是代表应用程序的信息(数据)和操作数据的规则的一些类。在大多数情况下,数据库中的每个表将对应应用中的一个模型。应用程序业务逻辑的大部分将集中在模型中。 | | app/start/ | 包含与Artisan工具以及全球和本地上下文相关的自定义设置。 | | app/storage/ | 该目录存储Laravel各种服务的临时文件,如session, cache, compiled view templates。这个目录在web服务器上必须是可以写入的。该目录由Laravel维护,我们可以不关心。 | | app/tests/ | 该文件夹给你提供了一个方便的位置,用来做单元测试。如果你使用PHPUnit,你可以使用Artisan工具一次执行所有的测试。 | | app/views/ | 该文件夹包含了控制器或者路由使用的HTML模版。请注意,这个文件夹下你只能放置模版文件。其他的静态资源文件如css, javascript和images文件应该放在/public文件夹下。 | | app/routes.php | 这是您的应用程序的路由文件,其中包含路由规则,告诉 Laravel 如何将传入的请求连接到路由处理的闭包函数、 控制器和操作。该文件还包含几个事件声明,包括错误页的,可以用于定义视图的composers。 | | app/filters.php | 此文件包含各种应用程序和路由筛选方法,用来改变您的应用程序的结果。Laravel 具有访问控制和 XSS 保护的一些预定义筛选器。 |
';