更多课程 选择中心

PHP培训
美国上市教育机构

400-111-8989

PHP培训

Laravel框架的体系结构

  • 发布:PHP培训
  • 来源:PHP教程
  • 时间:2016-07-11 15:10

Laravel被称为“全栈”式框架,因为它能够处理从网络服务到数据库管理、HTML生成的一切事情,垂直集成的web开发环境给开发者提供了更好的体验。

开发人员可以通过命令行工具,生成和管理Laravel项目环境。Laravel附带了一个名为Artisan的优秀的命令行工具,它提供了一些开发过程中有用的命令用,可以用来生成框架代码和数据库管理。它是基于强大的Symfony Console 组件开发的。

Laravel的目标是给开发者创造一个愉快的开发过程,并且不牺牲应用的功能性。快乐的开发者才能创造最棒的代码!为了这个目的,我们博取众框架之长处集中到Laravel中,这些框架甚至是基于Ruby on Rails、ASP.NET MVC、和Sinatra等开发语言或工具的。

Laravel是易于理解并且强大的,它提供了强大的工具用以开发大型、健壮的应用。杰出的IoC、数据库迁移工具和紧密集成的单元测试支持,这些工具赋予你构建任何应用的能力。

目录结构

目录结构

这是所有laravel项目具有基本上相同的目录结构,其中的每个文件都具有指定的地方。通过对目录结构的约定,确保你是按照“laravel方式”来工作。

正如你看到的,laravel项目下面有4个文件夹:app、bootstrap、public、vendor,这4个文件夹下面又有很多个子文件夹,当你第一次看到这么丰富的文件夹内容时,是不是觉得很有压力?没关系,我们会逐一的来了解不同的文件夹。

app 包含了站点的controllers(控制器),models(模型),views(视图)和assets(资源)。这些是网站运行的主要代码,你会将你大部分的时间花在这个目录里。bootstrap 用来存放系统启动时需要的文件,这些文件会被如index.php这样的文件调用。public 这个文件夹是唯一外界可以看到的web服务器的目录。它含有laravel框架核心的引导文件index.php,这个目录也可用来存放任何可以公开的静态资源,如css,Javascript,images等venderapp目录

目录

目录

正如上面提到的,所有laravel中有趣的事情都会产生在app目录,让我们多了解一些里面的内容。

我们通过上面的表格可以看到,只要花一些心思在建立和命名的文件上,就能得到一个具有良好文件系统的结构化的应用。

模型-视图-控制器(MVC)让我们更深一步了解如何建立laravel应用。你可能已经注意到,app目录下面有三子目录:models,views,controllers。这是表明了laravel是model-view-controller(MVC)架构模式,它将“业务逻辑”与图形用户界面相关的输入和显示逻辑(GUI)分离。在laravel Web应用中,业务逻辑通常由数据模型(如用户,博客文章)组成,GUI则只是一个浏览器中的页面。MVC设计模式在Web的开发领域中非常受欢迎。

MVC模式的三个要素:模型(model)

视图(view)控制器(controller)Laravel的响应流程一个典型的laravel应用程序由上面提到的MVC组成

当访问一个laravel应用程序时,浏览器发送一个请求,由Web服务器接收并传递到laravel的路由引擎。该laravel路由器接收到请求后,根据配置重定向到相应的控制器类的方法。

然后由控制器类接管。在某些情况下,控制器将立即渲染一个视图,这是一个模板,将被转换成HTML并且发送回浏览器。更普遍的动态网站,控制器与模型进行交互,与数据库进行通信。调用模型后,控制器呈现最终视图(HTML、CSS和图像)并返回完整的web页面到用户的浏览器。

Laravel提倡模型、视图和控制器,应保持完全独立的存储单独的文件在不同的目录。这就是laravel的目录结构发挥作用的地方。

像MVC这样的设计模式的产生,就是为了让开发者的工作更加轻松。这就是Laravel比那些不用任何模式的PHP厉害的地方。如果这种讨论你现在感觉很抽象,不用担心!当你开始用Laravel工作,你都不会意识到你是在一种设计模式中工作。过一段时间后,就会变得自然了。

数据模型数据模型是任何应用程序的基础,它建立了应用程序的业务逻辑。每一块数据通过使用一个数据库表表示。laravel提供了一些技术来简化对数据库的访问。

Laravel通过将数据库中的表行转成能被轻松操纵的PHP对象,来连接应用程序的数据模型和数据库表。它还使您能够执行业务规则,描述在应用程序中不同的数据模型之间的关系等。例如,一个人的家庭关系可以用Laravel Eloquent OR / M描述如下:

全选复制放进笔记

class Person extends Eloquent
{
    public function mother()
    {
        return $this->belongsTo('Mother');
    }
    public function father()
    {
        return $this->belongsTo('Father');
    }
    public function spouse()
    {
        return $this->hasOne('Spouse');
    }
    public function sisters()
    {
        return $this->hasMany('Sister');
    }
    public function brothers()
    {
        return $this->hasMany('Brother');
    }
}

好,本期的php教程到此结束,去参加了免费试听的小伙伴们,对课程或者是本期内容有好的建议的,可以留言,和小栈长互撩哦~

预约申请免费试听课

填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:PHP变量--PHP基础教程(4)
下一篇:PHP初级开发者常见的5种疑问

实现thinkphp框架删除和批量删除

ThinkPHP框架的辅助功能

Laravel框架学习:4个初学调试技巧

Laravel框架的体系结构

选择城市和中心
黑龙江省

吉林省

河北省

贵州省

云南省

广西省

海南省