yiinitializr
yiinitializr copied to clipboard
Yiinitializr 2.0
Due to the success of Yiinitializr in the community, we are planning to make some changes on the Yiinitialzr site:
- configuration enhancement
- new templates
- Yii1+, Yii2+ support
- etc
Please, use this section to shoot ideas, improvements... any help would be highly appreciated!
- A non-template composer.json that downloads just the Yii framework and requested packages and sets up the autoloader and yiic for generating web-apps as per our custom needs?
- Composer driven autoloader for using packages with a default Yii 1.1 generated web-app.
@rvbhute
- For that I guess we will have to create something like YiiBoilerplate? Do you think is a good idea not to work with composer.json as Yii2 is about to work heavily with it?
No, definitely composer is the correct way! But I am very confused. I did not expect a tightly coupled framework-application directory structure. I expected more of a "composer dropping packages into app/vendor and adding an auto-loader" sort of thing.
I am confused between composer managing dependencies per app and composer managing everything from framework down to the app. Plus YiiInitializr does a lot of magic! I think I will experiment with composer more first before diving into YiiInitializr.
Regards.
Just a couple of ideas:
- Theming support
- I'd add more permission configuration on folders and files. Currently for a big project we developed using Yii Advanced, we used this script to set permissions across all the project:
#!/bin/bash oIFS=$IFS IFS=$'\n' WEBUSER=$USER WEBSERVERGROUP=www-data echo Assigning owner to User: $WEBUSER - Group: $WEBSERVERGROUP sudo chown -R $WEBUSER:$WEBSERVERGROUP .; echo Changing directory permissions...; sudo find ./ -type d -exec chmod 770 {} \; echo Changing file permissions...; sudo find ./ -type f -exec chmod 640 {} \; echo Changing executable permissions...; sudo find ./ -iname "*.sh" -type f -exec chmod u+x {} \; sudo find ./ -iname "yiic" -type f -exec chmod u+x {} \; sudo find ./ -iname "build" -type f -exec chmod u+x {} \; echo Adding permissions to Runtime and Assets folders sudo find . -iname "assets" -type d -exec chmod 770 {} \; sudo find . -iname "runtime" -type d -exec chmod 770 {} \; echo Adding permissions to Runtime, Assets and Usermedia files sudo find ./backend/www ./frontend/www -iname 'assets' -type d | while read -r i; do find "$i" -type f -exec chmod 770 {} \; done sudo find ./backend ./frontend -iname 'runtime' -type d | while read -r i; do find "$i" -type f -exec chmod 770 {} \; done echo Adding permission to .htaccess sudo find . -iname '.htaccess' -type f -exec chmod 640 {} \; IFS=$oIFS
non interactive deployment ie using Capistrano 3.x Currently I have modified the Yiinitializr callback to check for an ENV var set by capistrano and so interaction is not required and multiple deployment scenarios work perfectly.
Keep up the good work! Yiinitializr and Yii in general are now my first stop for building apps.