Revision #9 has been created by Mehdi Achour on Dec 19, 2018, 10:56:23 AM with the memo:
Bold titles
« previous (#8) next (#10) »
Changes
Title
unchanged
(draft) Understanding Yii 3
Category
unchanged
Tutorials
Yii version
unchanged
all
Tags
unchanged
yii3
Content
changed
[...]
This enable you to cherry pick the packages you need to compose your application.
This re-organisation is also a great news for maintainance, as these packages will be released separately, thus allowing more frequent updates.
### **Autoloading
**
The custom PHP class autoloader have been removed in favor of Composer's PSR-4 implementation.
This means that in order for Yii to see your classes, you will have to explicitly register your namespace in `composer.json`. We will see an example later.
###
**PSR compatibility
**
Yii 3 take
s some positive steps following the [PHP-FIG](https://www.php-fig.org/) recommendations, by implementing the following PSRs:
* Logging is now compliant with PSR-3[...]
* Dependency Injection is now compliant with PSR-11
### **Application configuration
**
<small>[TODO]</small>
###
**Dependencies injection
**
<small>[TODO]</small>[...]
Let's introduce them briefly:
### **The Framework
**
* [yiisoft/yii-core](https://github.com/yiisoft/yii-core)[...]
### **Librairies
**
In Yii 3, libraries do **not** depend on Yii and are meant to be usable outside the framework.[...]
* [yiisoft/db-elasticsearch](https://github.com/yiisoft/db-elasticsearch) Elastic
### **Extensions
**
Extensions depends (at least) on yii-core. Aside from the 3 extensions already encountered above (yii-console, yii-web, yii-api), these packages are available[...]
Let's try running a web application using Yii 3, and the provided project template.
##### **Installing the project template
**
```[...]
> You could start from scratch using this bare template, select the extensions & packages you want to use and start developing, or you can pick one of the three starters provided.
##### **Installing the `web` starter
**
Since we're doing a web application, we will need an asset manager. We can pick either one of those:[...]
So where do what we see in the browser comes from ?
##### **Exploring yiisoft/yii-base-web structure:
**
If you explore the folder in `vendor/yiisoft/yii-base-web`, you will see that the template is in fact a project itself, with this structure:
```
.[...]