2015-10-03 53 views
0

我试图用这个PHP脚本进行图像优化:https://github.com/psliwa/image-optimizer如何调用PHP psliwa图像优化

但我认为文档是非常差的,这是所有它说:

$factory = new \ImageOptimizer\OptimizerFactory(); 
$optimizer = $factory->get(); 

$filepath = /* path to image */; 

$optimizer->optimize($filepath); 

但我真的不明白这种调用类为“新”的方式,并获取此错误时,我复制该代码:致命错误:Class'ImageOptimizer \ OptimizerFactory'找不到... 什么是我的错误?

+0

可能的复制[反斜杠在PHP中 - 这是什么意思?](http://stackoverflow.com/questions/10788400/backslash-in-php-what-does-it-mean) – Djizeus

+0

可能重复的[反斜杠语法w母鸡创建对象](http://stackoverflow.com/questions/4075521/backslash-syntax-when-creating-objects) – Prune

+0

我阅读这些帖子,但我仍然不知道我做错了什么,我不能打电话正确的图像优化器类。那是我的问题,那是我的问题。对不起,我不是专家。 –

回答

2

如果您不知所措,而且作曲家库安装不适合您,您可以从安装文件夹中调用每一个库。这是一个肮脏的方式,使用作曲家非常方便,但将工作。

添加到您的影像处理文件的顶部:

require "your_path/ImageOptimizer/Optimizer.php"; 
require "your_path/ImageOptimizer/OptimizerFactory.php"; 
require "your_path/ImageOptimizer/CommandOptimizer.php"; 
require "your_path/ImageOptimizer/Command.php"; 
require "your_path/ImageOptimizer/SuppressErrorOptimizer.php"; 
require "your_path/ImageOptimizer/ChainOptimizer.php"; 
require "your_path/ImageOptimizer/SmartOptimizer.php"; 
require "your_path/ImageOptimizer/TypeGuesser/TypeGuesser.php"; 
require "your_path/ImageOptimizer/TypeGuesser/SmartTypeGuesser.php"; 
require "your_path/ImageOptimizer/TypeGuesser/GdTypeGuesser.php"; 
require "your_path/ImageOptimizer/TypeGuesser/ExtensionTypeGuesser.php"; 
require "your_path/ImageOptimizer/Exception/Exception.php"; 
require "your_path/ImageOptimizer/Exception/CommandNotFound.php"; 

...然后调用方法所述:

$factory = new \ImageOptimizer\OptimizerFactory(); 
$optimizer = $factory->get(); 

$filepath = /* path to image */; 

$optimizer->optimize($filepath); 
//optimized file overwrites original one 

来源:https://github.com/psliwa/image-optimizer

+0

我刚刚意识到这个问题的年龄是多少 – Stephen

+0

感谢您的回答。你提到什么是“作曲家库安装”?我发现图书馆的文档很差。 –