laravel框架关键技术解析(【php教程】Laravel框架的体系结构的初步学习)

wufei123 发布于 2023-10-31 阅读(783)

php零基础入门视频课程

Laravel被称为“全栈”式框架,因为它能够处理从网络服务到数据库管理、HTML生成的一切事情,垂直集成的web开发环境给开发者提供了更好的体验开发人员可以通过命令行工具,生资源成和管理Laravel项目环境。

Laravel附带了一个名为Artisan的优秀的命令行工具,它提供了一些开发过程中有用的命令用,可以用来生成框架代码和数据库管理它是基于强大的Symfony Cons资源ole 组件开发的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服务器的目录它含有larav资源el框架核心的引导文件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); }}

亲爱的读者们,感谢您花时间阅读本文。如果您对本文有任何疑问或建议,请随时联系我。我非常乐意与您交流。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。