Table of Contents
回复内容:
针对这个问题,是因为 workbench 这个包修改了 类->文件 的对应表,增加了几行。
Home Backend Development PHP Tutorial Laravel是怎么和workbench的composer包兼容的?

Laravel是怎么和workbench的composer包兼容的?

Jun 06, 2016 pm 08:39 PM
composer laravel php

据我所知 composer是不能加载多vendor目录的

但是我看到很多laravelworkbench都可以加载自己vendor文件

然后通过laravelphp artisan dump-autoload命令加载进来. 我不是很了解laravel的机制.

想请laravel的高手解答下!!谢谢

回复内容:

据我所知 composer是不能加载多vendor目录的

但是我看到很多laravelworkbench都可以加载自己vendor文件

然后通过laravelphp artisan dump-autoload命令加载进来. 我不是很了解laravel的机制.

想请laravel的高手解答下!!谢谢

首先,这个事情跟 Laravel 基本没有关系。

为什么很多人在用了 Laravel 之后发现 Laravel 有好多新特性,是因为市面上的代码、框架都 积重难返,很多 PHP 高手都已经习惯了 PHP4 时代强大的函数和习惯用法,对 PHP 的面向对象新特性又喜欢又不想用,所以当 Taylor Otwell 这个 .NET 程序员看着 PHP 官方文档发明了 Laravel 的时候,大家都惊呆了,PHP 还能这样写!

所以并不是 Laravel 强大,而是 PHP 本身就是非常强大,只是以前没人这样用而已。其实话说回来,PHP 本身的语言特性反而是严谨古板的,没法像 Ruby 那样非常容易地就可以做出一个 DSL(领域特定语言)。

PHP 的文件加载机制是非常简单和自由的,就是 include 'fuck.php';,背后的逻辑也是简单地把 fuck.php 里的代码拷贝过来放到这里。

为了更方便地引入其他文件,PHP 引入了 自动加载,官方文档在:http://php.net/manual/zh/language.oop5.autoload.php

自动加载的逻辑也非常简单,就是维护一张表,上面写着哪个类在哪个文件里,方便 PHP 解释器去 include 它。依赖 Composer 的系统通过 include /vendor/autoload.php 这个文件来维护这张表。这个表可以手动维护。

Laravel 同时支持 psr-0psr-4 自动加载规范,他们的文档在 http://www.php-fig.org/ 右下角。


针对这个问题,是因为 workbench 这个包修改了 类->文件 的对应表,增加了几行。

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Roblox: Bubble Gum Simulator Infinity - How To Get And Use Royal Keys
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusion System, Explained
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers Of The Witch Tree - How To Unlock The Grappling Hook
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1667
14
PHP Tutorial
1273
29
C# Tutorial
1255
24
Laravel vs. Python (with Frameworks): A Comparative Analysis Laravel vs. Python (with Frameworks): A Comparative Analysis Apr 21, 2025 am 12:15 AM

Laravel is suitable for projects that teams are familiar with PHP and require rich features, while Python frameworks depend on project requirements. 1.Laravel provides elegant syntax and rich features, suitable for projects that require rapid development and flexibility. 2. Django is suitable for complex applications because of its "battery inclusion" concept. 3.Flask is suitable for fast prototypes and small projects, providing great flexibility.

The Compatibility of IIS and PHP: A Deep Dive The Compatibility of IIS and PHP: A Deep Dive Apr 22, 2025 am 12:01 AM

IIS and PHP are compatible and are implemented through FastCGI. 1.IIS forwards the .php file request to the FastCGI module through the configuration file. 2. The FastCGI module starts the PHP process to process requests to improve performance and stability. 3. In actual applications, you need to pay attention to configuration details, error debugging and performance optimization.

What happens if session_start() is called multiple times? What happens if session_start() is called multiple times? Apr 25, 2025 am 12:06 AM

Multiple calls to session_start() will result in warning messages and possible data overwrites. 1) PHP will issue a warning, prompting that the session has been started. 2) It may cause unexpected overwriting of session data. 3) Use session_status() to check the session status to avoid repeated calls.

Composer: Aiding PHP Development Through AI Composer: Aiding PHP Development Through AI Apr 29, 2025 am 12:27 AM

AI can help optimize the use of Composer. Specific methods include: 1. Dependency management optimization: AI analyzes dependencies, recommends the best version combination, and reduces conflicts. 2. Automated code generation: AI generates composer.json files that conform to best practices. 3. Improve code quality: AI detects potential problems, provides optimization suggestions, and improves code quality. These methods are implemented through machine learning and natural language processing technologies to help developers improve efficiency and code quality.

What database versions are compatible with the latest Laravel? What database versions are compatible with the latest Laravel? Apr 25, 2025 am 12:25 AM

The latest version of Laravel10 is compatible with MySQL 5.7 and above, PostgreSQL 9.6 and above, SQLite 3.8.8 and above, SQLServer 2017 and above. These versions are chosen because they support Laravel's ORM features, such as the JSON data type of MySQL5.7, which improves query and storage efficiency.

What is the significance of the session_start() function? What is the significance of the session_start() function? May 03, 2025 am 12:18 AM

session_start()iscrucialinPHPformanagingusersessions.1)Itinitiatesanewsessionifnoneexists,2)resumesanexistingsession,and3)setsasessioncookieforcontinuityacrossrequests,enablingapplicationslikeuserauthenticationandpersonalizedcontent.

What is the difference between php framework laravel and yii What is the difference between php framework laravel and yii Apr 30, 2025 pm 02:24 PM

The main differences between Laravel and Yii are design concepts, functional characteristics and usage scenarios. 1.Laravel focuses on the simplicity and pleasure of development, and provides rich functions such as EloquentORM and Artisan tools, suitable for rapid development and beginners. 2.Yii emphasizes performance and efficiency, is suitable for high-load applications, and provides efficient ActiveRecord and cache systems, but has a steep learning curve.

H5: Key Improvements in HTML5 H5: Key Improvements in HTML5 Apr 28, 2025 am 12:26 AM

HTML5 brings five key improvements: 1. Semantic tags improve code clarity and SEO effects; 2. Multimedia support simplifies video and audio embedding; 3. Form enhancement simplifies verification; 4. Offline and local storage improves user experience; 5. Canvas and graphics functions enhance the visualization of web pages.

See all articles