我们正在开始一个新项目,我们正在使用Composer管理依赖项.我们可能会在Laravel 4之上构建我们的应用程序.但是我们也将创建自己的库,我们将用于所有下一个项目,而不仅仅是这个.
所以,我们有这个可怕的疑问:使用composer开发库的最佳方法是什么?
如果我们将新库列为依赖项,那么每次修改它时,我们都必须将更改提交到存储库然后调用composer update.
那太可怕了!
有没有更好的方法呢?
我正在用PhoneGap构建一个应用程序.我正在使用我的Galaxy S2测试应用程序,他的屏幕分辨率是480x800.但是当View创建时,他的大小是320x800!
我尝试了太多东西,但没有任何作用......有没有人可以帮助我?
哦,我正在使用android的环境,Eclipse,ADT等.
我负责我公司的操作码缓存交换,我们正在从eaccelerator转移到PHP 5.5附带的Zend OPCache.
当我在CLI中访问PHP时,似乎OPCache工作正常:
PHP 5.5.5 (cli) (built: Oct 15 2013 10:29:13)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies
with Zend OPcache v7.0.3-dev, Copyright (c) 1999-2013, by Zend Technologies
Run Code Online (Sandbox Code Playgroud)
但是当我通过Apache访问我的网站时,与没有使用操作码缓存的相同页面相比,基准测试没有显示出任何改进.此外,get_loaded_extensions(true)返回一个空数组.
任何人都可以回答我为什么它在地球上不起作用?
我正在使用Windows 7,来自Apache Lounge的Apache 2.4.6,来自windows.php.net的PHP 5.5.5.
编辑:
根据要求,我的OPCache配置:
[opcache]
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
;opcache.max_wasted_percentage=5
;opcache.use_cwd=1
;opcache.validate_timestamps=1
opcache.revalidate_freq=60
;opcache.revalidate_path=0
;opcache.save_comments=1
;opcache.load_comments=1
opcache.fast_shutdown=1
;opcache.enable_file_override=0
;opcache.optimization_level=0xffffffff
;opcache.inherited_hack=1
;opcache.dups_fix=0
;opcache.blacklist_filename=
;opcache.max_file_size=0
;opcache.consistency_checks=0
;opcache.force_restart_timeout=180
;opcache.error_log=
;opcache.log_verbosity_level=1
;opcache.preferred_memory_model=
;opcache.protect_memory=0
Run Code Online (Sandbox Code Playgroud) 我想将Laravel框架提供的服务替换为我自己的服务,扩展相同的Laravel服务.在这种特定情况下,我想交换BladeCompiler服务.
ViewServiceProviderLaravel提供的默认设置如下:
use Illuminate\View\Engines\BladeCompiler;
use Illuminate\View\Engines\CompilerEngine;
...
public function registerBladeEngine($resolver)
{
$app = $this->app;
$resolver->register('blade', function() use ($app)
{
$cache = $app['path.storage'].'/views';
$compiler = new BladeCompiler($app['files'], $cache);
return new CompilerEngine($compiler, $app['files']);
});
}
Run Code Online (Sandbox Code Playgroud)
我唯一需要做的是扩展提供程序,重写方法并替换编译器类.在这种情况下,My\View\Engines\BladeCompiler.
但要做到这一点,我必须将所有函数复制并粘贴到我的服务提供者,并只需替换该use语句.这是一种糟糕的方式,因为对Laravel那部分的任何修改都会破坏我的应用程序.
我真正想要做的是创建另一个扩展默认刀片编译器类的类,以便为它添加更多功能.
有没有人有更好的主意?
编辑:
我打开了一个描述该问题的问题,Taylor将对4.1进行更改,这使得扩展服务变得更加容易(至少是刀片编译器).