laravel 入门 01

laravel 简介

Lavavel一直 秉承着优雅的原则,很好的支持了composer,实现了更丰富的扩展,社区文档活跃,相较于TP,Lavavel更庞大,安全性也更高 ,更适合开发大中型项目,被称为“巨匠型开发框架”。

优点:
1.laravel的设计思想是很先进的,非常适合应用各种开发模式TDD, DDD 和BDD
2.支持composer包管理工具
3.集合了php 比较新的特性,以及各种各样的设计模式,Ioc 容器,依赖注入等。

缺点:
1.基于组件式的框架,所以比较臃肿

综合来说:Laravel 框架非常适合大中型的商业项目。laravel是以组件化为主的框架。

laravel 安装

composer create-project --prefer-dist laravel/laravel blog

注意:前提是符合框架基本要求,要求如下:
PHP >= 7.2.5
BCMath PHP 拓展
Ctype PHP 拓展
Fileinfo PHP 拓展
JSON PHP 拓展
Mbstring PHP 拓展
OpenSSL PHP 拓展
PDO PHP 拓展
Tokenizer PHP 拓展
XML PHP 拓展

目录介绍

| — app — 应用目录
| |-- Console – 命令行目录
| |-- Exceptions – 异常目录
| |-- Http – 网络请求目录
| |-- Providers – 服务提供目录
| |…
|— bootstrap — 启动目录
| |-- cache – 路由和服务缓存目录
| |-- app.php – 应用启动文件
|— config — 应用配置目录
| |-- app.php – 应用配置文件
| |-- auth.php – 认证配置文件
| |-- broadcasting.php – 广播配置文件
| |-- cache.php – 缓存配置文件
| |-- database.php – 数据库配置文件
| |…
|— database — 数据库目录
| |-- factories – 模型工厂目录
| |-- migrations – 数据迁移目录
| |-- seeds – 种子目录
| |…
|— public — 公共目录
| |-- css – 公共css目录
| |-- js – 公共js目录
| |-- index.php – 入口文件
|— resources — 资源目录
| |-- lang – 语言包目录
| |-- sass – sass目录
| |-- views – 模板目录
|— routes — 路由目录
| |-- api.php – api路由定义
| |-- console.php – 控制台路由定义
| |-- web.php – 网页路由定义
|— storage — 存储目录
| |-- app – 存储应用生成的文件
| |-- framework – 存储框架生成的文件和缓存
| |-- logs – 存储日志
|— tests — 单元测试目录
|— vendor — 第三方类库目录
| |-- composer – composer目录
| |-- laravel – laravel框架目录
| |-- symfony – symfony组件目录
| |-- autoload.php – 自动加载入口文件
| |…
|— .env — 环境变量配置文件
|— artisan — artisan工具文件
|— server.php — 命令行应用测试文件
|…

核心目录与文件
.env文件 : 这是一个重要文件,为Laravel框架主配置文件;
Artisan.php: 该文件为Laravel提供了Artisan命令,artisan是laravel中自带的命令行工具的名称;
App 目录
你的大部分应用程序都位于 app 目录中。默认情况下,此目录的命名空间为 App , 并通过 Composer
使用 PSR-4 自动加载标准 自动加载。
Bootstrap目录
bootstrap 目录包含引导框架的 app.php 文件。该目录还包含了一个 cache 目录, cache 目录下
存放着框架生成的用来提升性能的文件,比如路由和服务缓存文件。
Config 目录
config 目录,顾名思义,包含应用程序所有的配置文件。我们鼓励你通读这些文件,以便帮助你熟悉
所有可用的选项。
Public 目录
public 目录包含了入口文件 index.php ,它是进入应用程序的所有请求的入口点。此目录还包含了
一些你的资源文件(如图片、JavaScript 和 CSS)。
Resources 目录
resources 目录包含了视图和未编译的资源文件(如 LESS、SASS 或 JavaScript)。此目录还包含你
所有的语言文件。
Routes 目录
routes 目录包含了应用的所有路由定义,Laravel 默认包含了几个路由文件: web.php 、 api.php 、
console.php 和 channels.php 。
Storage 目录
storage 目录包含编译后的 Blade 模板、session 会话生成的文件、缓存文件以及框架生成的其他文
件。这个目录被细分成 app 、 framework 和 logs 三个子目录。 app 目录可以用来存储应用生成的
任何文件。 framework 目录用来存储框架生成的文件和缓存。最后, logs 目录包含应用的日志文
件。

编写规范

1、控制器文件名

控制器文件与类命名遵循官方约束:类名.php
类名称声明必须符合StudlyCaps(大写驼峰拼写法)

2、 控制器类方法命名

RESTful资源控制器,相应的方法采用其默认命名规则

index() //index方法对应资源列表页面
create() //create方法对应创建资源页面
show($id) //show方法对应特定id资源页面

普通控制器,推荐使用HTTP动作 (如get|post|delete) + 资源|行为 的驼峰命名规范(小驼峰命名法)

public funcion getLogin()
{
return View::make('login');
}

3、视图文件名

视图文件或文件采用全小写英文命名,单词间采用下划线(_)作为分隔符。Blade视图模板请带上blade作为文件名,对于RESTful资源控制器相关视图文件,遵循官方默认命名,如:

app/
— views/
—article/
------create.blade.php
------index.blade.php
------show.blade.phps
—setting_type/
------create.blade.php

在控制器中调用视图遵循点分调用规则,如:

public function getCustomerList(){
return View::make('customer.index'); //返回位于
`app/views/customer/index.blade.php`的视图
}
public function index()
{
return View::make('setting_type.index'); //返回位于
`app/views/setting_type/index.blade.php`的视图
}

4、Blade 标签的使用

Blade 标签使用双{{}}作为界定符,为了避免模板编译compiled失败,先约定大括号标签中的变量或函数应与界定符之间空一格,如:

{{ }}打印内容 {{-- --}}注释
Hello, {{ $name }}.
The current UNIX timestamp is {{-- time() --}}.

Blade标签应注意(括号或表达式)匹配,不匹配可以会造成模板输出错误。如使用@if语句之后,必须使
用@endif 结束该标签。

@if (count($records) === 1)
I have one record!
@elseif (count($records) > 1)
I have multiple records!
@else
I don't have any records!
@endif
@unless (Auth::check())
You are not signed in.
@endunless

5、常规模型文件命名

常规模型命名遵循 Laravel 默认规范,如操作 setting_type 数据表的模型,我们可以这样定义(另外laravel的标默认是复数形式,而模型需要去掉尾部的 s):

class SettingType extends Eloquent
{
	protected $table = 'setting_type';
	public $timestamps = false; //关闭自动更新时间戳
	
	public function setting()
	{
		return $this->hasMany('Setting');
	}
}

下一篇:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值