Плагин CakePHP-воображение-плагин
Я работаю с cakephp 3.0.x-dev, и я хотел бы использовать плагин cakephp-ideas-plugin ( https://github.com/burzum/cakephp-imagine-plugin/tree/3.0).
Когда я использую этот плагин, я получаю следующую ошибку в моем виде CakePHP
Ошибка: Imagick не установлен
Мой контроллер выглядит так
namespace App\Controller;
use App\Controller\AppController;
use Imagine\Imagick\Imagine;
class AccueilController extends AppController {
public function index() {
$directory = 'webroot'.DS.'img'.DS.'Carousel'.DS;
//get all image
$images = glob($directory . "*.{jpg,JPG,jpeg,JPEG,png,PNG}",GLOB_BRACE);
// resize image if necessary.. format(900x500)
$height = 500;
$width = 900;
foreach($images as $image)
{
$image = new Imagine();
//.. do some processing operation
}
// send data to the view
$this->set('images', $images);
}
}
Я установил вид плагина благодаря php composer.phar. Файл composer.json выглядит следующим образом:
{
"name": "cakephp/app",
"description": "CakePHP skeleton app",
"homepage": "http://cakephp.org",
"type": "project",
"license": "MIT",
"require": {
"php": ">=5.4.16",
"cakephp/cakephp": "3.0.*-dev",
"composer/installers": "*",
"mobiledetect/mobiledetectlib": "2.*",
"cakephp/debug_kit": "3.0.*-dev",
"imagine/imagine": "*",
"composer/installers": "*"
},
"require-dev": {
"d11wtq/boris": "1.0.*"
},
"extra": {
"installer-name" : "Imagine"
},
"suggest": {
"phpunit/phpunit": "Allows automated tests to be run without system-wide install.",
"cakephp/cakephp-codesniffer": "Allows to check the code against the coding standards used in CakePHP."
},
"autoload": {
"psr-4": {
"App\\": "src"
}
},
"autoload-dev": {
"psr-4": {
"App\\Test\\": "tests",
"Cake\\Test\\Fixture\\": "./vendor/cakephp/cakephp/tests/Fixture"
}
},
"scripts": {
"post-install-cmd": "App\\Console\\Installer::postInstall"
},
"config" : {
"bin-dir" : "bin"
},
"minimum-stability" : "dev",
"prefer-stable": true
}
Плагин был установлен вендором / представь / представь /
Я не знаю, что я делаю не так. Я никогда не использовал композитора до этого. Поэтому я не уверен, что я написал в файле composer.json. Кто-то может мне помочь?
С Уважением,
выслеживающий
2 ответа
Вы не используете плагин, а получаете доступ к библиотеке поставщика напрямую по тому, что вы делаете. Технически вы можете включить библиотеку Imagine напрямую вместо плагина через composer, как вы это делаете.
Вы не получите никакой выгоды от этого плагина. Посмотрите на поведение вместо этого. Я не могу признать, что документация могла бы быть лучше, но, эй, это с открытым исходным кодом и делается бесплатно в свободное время. Код поведения довольно понятен, и вы должны сразу увидеть, как его использовать.
Но на самом деле Basic-Example.md содержит пример, который показывает, как его использовать.
Наконец, Ndm прав, ошибка довольно очевидна:
Ошибка: Imagick не установлен
Установите Imagick, в вашей установке php отсутствует этот модуль. Проблема не в плагине, а в вашей установке php.
Спасибо за Ваш ответ. Это был первый раз, когда я использовал php composer, и я подумал, что допустил ошибку с файлом composer.json. Я не думал, что это просто библиотека для установки.
Так что теперь я установил Imagick, и он работает хорошо.
Спасибо