Yii 2 Gallery Template
Yii 2 Gallery Template is a skeleton Yii 2 application best for
rapidly creating small gallery projects., (*1)
The template contains the gallery features including user login/logout and a contact page.
It includes all commonly used configurations that would allow you to focus on adding new
features to your application., (*2)
, (*3)
DIRECTORY STRUCTURE
assets/ contains assets definition
commands/ contains console commands (controllers)
config/ contains application configurations
controllers/ contains Web controller classes
mail/ contains view files for e-mails
models/ contains model classes
runtime/ contains files generated during runtime
tests/ contains various tests for the gallery application
vendor/ contains dependent 3rd-party packages
views/ contains view files for the Web application
web/ contains the entry script and Web resources
REQUIREMENTS
The minimum requirement by this project template that your Web server supports PHP 5.4.0., (*4)
INSTALLATION
Install from an Archive File
Extract the archive file downloaded from github.com to
a directory named gallery
that is directly under the Web root., (*5)
Set cookie validation key in config/web.php
file to some random secret string:, (*6)
'request' => [
// !!! insert a secret key in the following (if it is empty) - this is required by cookie validation
'cookieValidationKey' => '<secret random string goes here>',
],
You can then access the application through the following URL:, (*7)
http://localhost/gallery/web/
Install via Composer
If you do not have Composer, you may install it by following the instructions
at getcomposer.org., (*8)
You can then install this project template using the following command:, (*9)
php composer.phar global require "fxp/composer-asset-plugin:~1.1.1"
php composer.phar create-project --prefer-dist --stability=dev korinovsky/yii2-app-gallery gallery
Now you should be able to access the application through the following URL, assuming gallery
is the directory
directly under the Web root., (*10)
http://localhost/gallery/web/
CONFIGURATION
Database
Edit the file config/db.php
with real data, for example:, (*11)
return [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=yii2gallery',
'username' => 'root',
'password' => '1234',
'charset' => 'utf8',
];
NOTES:
- Yii won't create the database for you, this has to be done manually before you can access it.
- Check and edit the other files in the config/
directory to customize your application as required.
- Refer to the README in the tests
directory for information specific to gallery application tests., (*12)
\zxbodya\yii2-gallery-manager\GalleryBehavior:238, (*13)
// orientation fix
if (($data = function_exists('exif_read_data') ? @exif_read_data($path) : null) && isset($data['Orientation']) && ($ort = $data['Orientation'])) {
switch($ort)
{
case 1: { // nothing
break;
}
case 2: { // horizontal flip
$originalImage->flipHorizontally();
break;
}
case 3: { // 180 rotate right
$originalImage->rotate(180);
break;
}
case 4: { // vertical flip
$originalImage->flipVertically();
break;
}
case 5: { // vertical flip + 90 rotate right
$originalImage->flipVertically()->rotate(90);
break;
}
case 6: { // 90 rotate right
$originalImage->rotate(90);
break;
}
case 7: { // horizontal flip + 90 rotate right
$originalImage->flipHorizontally()->rotate(90);
break;
}
case 8: { // 90 rotate left
$originalImage->rotate(-90);
break;
}
}
}