一.环境配置:
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 12.04.2 LTS
Release: 12.04
Codename: precise
$ php -v
PHP 5.4.45-3+deb.sury.org~precise+1 (cli) (built: Jan 7 2016 15:32:17)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies
$ php artisan --version
Laravel Framework version 5.0.16
二.laravel 文件目录
$ composer create-project laravel/laravel example --prefer-dist
$ $ tree -L 2
.
|-- app
| |-- Commands
| |-- Console
| |-- Events
| |-- Exceptions
| |-- Handlers
| |-- Http
| |-- Providers
| |-- Services
| `-- User.php
|-- artisan
|-- bootstrap
| |-- app.php
| `-- autoload.php
|-- composer.json
|-- composer.lock
|-- config
| |-- app.php
| |-- auth.php
| |-- cache.php
| |-- compile.php
| |-- database.php
| |-- filesystems.php
| |-- mail.php
| |-- queue.php
| |-- services.php
| |-- session.php
| `-- view.php
|-- database
| |-- migrations
| `-- seeds
|-- gulpfile.js
|-- package.json
|-- phpspec.yml
|-- phpunit.xml
|-- public
| |-- css
| |-- favicon.ico
| |-- fonts
| |-- index.php
| `-- robots.txt
|-- readme.md
|-- resources
| |-- assets
| |-- lang
| `-- views
|-- server.php
|-- storage
| |-- app
| |-- framework
| `-- logs
|-- tests
| |-- ExampleTest.php
| `-- TestCase.php
`-- vendor
|-- autoload.php
|-- bin
|-- classpreloader
|-- compiled.php
|-- composer
|-- danielstjules
|-- dnoegel
|-- doctrine
|-- ircmaxell
|-- jakub-onderka
|-- jeremeamia
|-- laravel
|-- league
|-- monolog
|-- mtdowling
|-- nesbot
|-- nikic
|-- phpdocumentor
|-- phpspec
|-- phpunit
|-- psr
|-- psy
|-- sebastian
|-- services.json
|-- swiftmailer
|-- symfony
`-- vlucas
51 directories, 31 files
说明:
laravel项目下主要文件夹:app、bootstrap、config、database、public、resources、storage、tests、vender;
1.app
包含了应用的核心代码;
其中Console和Http文件提供了应用的主要结构程序API,HTTP协议和CLI虽然是两种与应用交互的机制,但实际上并不包含应用的逻辑关系;换句话说,它们仅仅是两种对应用发布命令的方式。Console文件中包含了所有Artisan命令,而Http文件夹包含了控制器(controllers)、中间件(middleware)和请求(requests);
Commands文件夹,存放了对于应用的命令,Commands代表任务可以被你的应用队列,当然也包含任务可以被同步地运行到目前请求的业务声明周期中;
Events文件夹,顾名思义,存放着事件的类;当然用类去表现事件不是必须的;然而,如果你选择使用它们,当你运用Artisan命令创建的时候,这个文件是默认位置;
Handlers文件夹包含了和commands以及events相关的处理器(handler)类,Handler接受一个命令或事件,然后执行其逻辑;
Services文件夹包含了大量的“helper”服务。例如Laravel内置的用于验证和创建新用户的Registrar服务。其他也可能是与外部API、度量系统或来自应用的集成数据想交互的服务;
Exceptions包含了应用的异常处理程序,也是应用抛出异常的好地方;
注意:
1).app文件夹中的许多类都可以通过Artisan命令产生,如:
$ php artisan list make
Available commands for the "make" namespace:
make:command Create a new command class
make:console Create a new Artisan command
make:controller Create a new resource controller class
make:event Create a new event class
make:middleware Create a new middleware class
make:migration Create a new migration file
make:model Create a new Eloquent model class
make:provider Create a new service provider class
make:request Create a new form request class
2).命名空间
应用默认的命名空间(namespace)为App;然后,你可以改变这一命名空间,通过简单的Artisan 命令(app:name),以与你的应用相匹配,例如,假设你的应用名为solar,你可以通过以下的命令实现:
$ php artisan app:name solar
2.bootstrap
包含了一些应用启动时需要的文件;
3.config
包含应用的配置文件,完成更多业务上的需求,如应用系统配置、验证(模型、验证表)配置、缓存(存储方式)配置、编译(附加编译类、编译器提供者)配置、数据库(提取模式、默认数据库连接名、连接方式、迁移库表、Redis数据库)配置、文件系统(文件系统磁盘位置)配置、邮件(邮箱驱动程序、服务器主机地址/端口号、全局源地址、email加密协议、服务器用户名/密码、驱动程序系统位置、邮件伪装)配置、队列(默认队列驱动程序、队列连接方式、失败队列管理)配置、服务(第三方服务认证)配置、会话(默认会话驱动程序、会话生命周期、会话加密、会话文件位置、会话数据库连接/数据库表、会话清除概率、会话临时文件名/路径/域HTTPS临时文件)配置、视图(视图文件存储路径、编译视图文件路径)配置。
4.database
包含了数据迁移(migration)和填充(seeds);
5.public
包含了前端文件,即可以对外开放的资源(images,JavaScript,CSS,字体包等);
6.resources
包含了视图相关的文件,一些原始的如LESS、SASS、ConffeeScript、语言包文件等;
7.storage
包含了已编译的blade模板、会话文件、文件缓存、log文件以及其他框架产生的临时文件,该目录需要可写权限;
8.tests
包含了自动测试文件;
9.vender
包含Composer命令相关管理文件,包含了许多PHP相关的app应用程序;
- Android项目目录结构分析
Android项目目录结构分析 1.HelloWorld项目的目录结构1.1.src文件夹1.2.gen文件夹1.3.Android 2.1文件夹1.4.assets 1.5.res文件夹1.6.An ...
- phpcms v9框架的目录结构分析
phpcms v9框架的目录结构分析: 了解v9框架的目录结构,有助于帮助我们快速建立起对v9框架的一个整体认识 打开"mycms"项目,有如下文件和目录 使用 ...
- 手机自动化测试培训:appium目录结构分析
手机自动化测试培训:appium目录结构分析 移动端的自动化测试越来越普遍,poptest率先退出移动端自动化测试的课程,以appuim的python脚本版本作为授课基础,后期陆续退出java版本 ...
- Django目录结构分析
Django目录结构分析: Django的Linux项目目录记录 [root@cmdb Django]# tree mysite mysite ├── cmdb │ ├── admin.py # ...
- Vue 目录结构分析 数据绑定 绑定属性 循环渲染数据 数据渲染
一.目录结构分析 node_modules 项目所需要的各种依赖 src 开发用的资源 assets 静态资源文件 App.vue 根组件 main.js 配置路由时会用 .babelrc 配置文件 ...
- vue2.* 目录结构分析 数据绑定 循环渲染数据 数据渲染02
一.目录 结构分析 node_modules:项目依赖文件(也可以说是模块) src:开发时所用的资源 assets:静态资源文件 App.vue:根组件(最基础的公共页面) main.js:实例化v ...
- ionic小白的学习路之目录结构分析、创建组件、创建页面、页面跳转
一. 目录结构分析 hooks:编译cordova 时自定义的脚本命令,方便整合到我们的编译系统和版本控制系统中. node_modules :node 各类依赖包. resources :andro ...
- Vue 项目目录结构分析
Vue项目目录结构分析 ├── v-proj | ├── node_modules // 当前项目所有依赖,一般不可以移植给其他电脑环境 | ├── public | | ├── favicon.ic ...
- 002——Angular 目录结构分析、app.module.ts 详解、以及 Angular 中创建组件、组件 详解、 绑定数据
一.目录结构分析 二. app.module.ts.组件分析 1.app.module.ts 定义 AppModule,这个根模块会告诉 Angular 如何组装该应用. 目前,它只声明了 AppCo ...
- HttpRunner3源码阅读: 1. 目录结构分析
初衷 身处软件测试行业的各位应该都有耳闻HttpRunner 开源测试工具/框架(接口测试),作者博客 为什么出这系列? 不少测试同行都建议阅读HttpRunner,源码学习其设计思想. 社区当下Py ...
- 解决f.lux总是弹框定位
解决f.lux总是弹框定位,直接导入成功定位的注册表文件即可. 以下保存为f.lux.reg 双击导入即可. Windows Registry Editor Version 5.00 [HKEY_CU ...
- 使用jQuery设置disabled属性与移除disabled属性
Readonly只针对input和textarea有效,而disabled对于所有的表单元素都有效,下面为大家介绍下使用jQuery设置disabled属性 表单中readOnly和disable ...
- win7 一些快捷系统工具命令
1.cleanmgr: 打开磁盘清理工具 2.compmgmt.msc: 计算机管理 3.conf: 启动系统配置实用程序 4.charmap: 启动字符映射表 5.calc: 启动计算器 6.chk ...
- linux 中 chmod/chown/cngrp的用法与区别
1.chgrp(转变文件所属用户组) chgrp 用户组 文件名 .若是整个目次下的都改,则加-R参数用于递归. 如:chgrp -R user smb.conf 2.chown(转变文件拥有者) ...
- Codeforces Round #367 (Div. 2) A B C 暴力 二分 dp(字符串的反转)
A. Beru-taxi time limit per test 1 second memory limit per test 256 megabytes input standard input o ...
- jq事件冒泡问题
在程序中使用事件对象非常简单,只需为函数添加一个参数,jquery代码如下: $("element").bind("click",function(event) ...
- js部分---运算符,if分支语句,for循环;switch case 的用法;
------------------------------------------运算符---------------------------------------------------- *数 ...
- codevs 1704 卡片游戏
题目描述 Description 桌面上有一叠牌,从第一张牌(即位于顶面的牌)开始从上往下依次编号为1~n.当至少还剩两张排时进行一下操作:把第一张牌扔掉,然后把新的第一张牌放到整叠牌的最后.输入n. ...
- 不小心误删@‘local’操作恢复
今天在测试用户权限的时候不小心把User: ''@'localhost';用户删除了 导致任何用户登录都无权限操作 恢复过程 停止mysql服务:在mysql安装目录下找到my.ini(linux下是 ...
- 《FreeSWITCH: VoIP实战》:SIP 模块 - mod_sofia
SIP 模块是 FreeSWITCH 的主要模块,所以,值得拿出专门一章来讲解. 在前几章时里,你肯定见过几次 sofia 这个词,只是或许还不知道是什么意思.是这样的,Sofia-SIP 是由诺基亚 ...