PHP头条
热点:

PHP开发者应了解的24个库(1)


作为一个PHP开发者,现在是一个令人激动的时刻。每天有许许多多有用的库分发出来,在Github上很容易发现和使用这些库。下面是我曾经遇到过最酷的24个库。你最喜欢的库没有在这个列表里面?那就在评论中分享吧!

1. Dispatch – 微框架

Dispatch是一个PHP小框架。它并没有给你完整的MVC设置,但你可以定义URL规则和方法,以便更好组织应用程序。这对API、简单的站点或原型来说是完美的。

  1. //包含库 
  2. include 'dispatch.php'; 
  3.   
  4. // 定义你的路由 
  5. get('/greet', function () { 
  6. //渲染视图 
  7.     render('greet-form'); 
  8. }); 
  9.   
  10. //post处理 
  11. post('/greet', function () { 
  12.     $name = from($_POST, 'name'); 
  13. // render a view while passing some locals 
  14.     render('greet-show', array('name' => $name)); 
  15. }); 
  16.   
  17. // serve your site 
  18. dispatch(); 

你可以匹配特定类型的HTTP请求和路径,渲染视图或做更多事情。如果你合并Dispatch和其他框架,那你就可以拥有一个相当强大并且轻量级的程序!

2. Klein – PHP快如闪电的路由

Klein是另一款针对PHP5.3+版本的轻量级路由库。虽然它有一些比Dispatch冗长的语法,但它相当快。这有一个例子:

  1. respond('/[:name]'function ($request) { 
  2.     echo 'Hello ' . $request->name; 
  3. }); 

你也可以定制来指定HTTP方法和使用正则表达式作为路径。

  1. respond('GET''/posts'$callback); 
  2. respond('POST''/posts/create'$callback); 
  3. respond('PUT''/posts/[i:id]'$callback); 
  4. respond('DELETE''/posts/[i:id]'$callback); 
  5.   
  6. //匹配多种请求方法: 
  7. respond(array('POST','GET'), $route$callback); 
  8.   
  9. //你或许也想在相同的地方处理请求 
  10. respond('/posts/[create|edit:action] /[i:id] 'function ($request$response) { 
  11.     switch ($request->action) { 
  12.         // do something 
  13.     } 
  14. }); 

对于小型项目来说这是很棒的,但当你把一个像这样的库用于大型应用时,你不得不遵守规矩,因为你的代码可能很快就变得不可维护。所以你最好搭配一个像Laravel或者CodeIgniter这样完全成熟的框架。

3. Ham – 带缓存的路由库

Ham也是一款轻量级的路由框架,但是它利用缓存甚至获得了更快的速度。它通过把任何I/O相关的东西缓存进XCache/APC。下面是一个例子:

  1. require '../ham/ham.php'
  2.   
  3. $app = new Ham('example'); 
  4. $app->config_from_file('settings.php'); 
  5.   
  6. $app->route('/pork'function($app) { 
  7.     return "Delicious pork."
  8. }); 
  9.   
  10. $hello = function($app$name='world') { 
  11.     return $app->render('hello.html'array
  12.         'name' => $name 
  13.     )); 
  14. }; 
  15. $app->route('/hello/<string>'$hello); 
  16. $app->route('/'$hello); 
  17.   
  18. $app->run(); 

这个库要求你至少安装了XCache和APC其中的一个,这可能意味着,在大多数主机提供商提供的主机上它可能用不了。但是如果你拥有一个安装它们其一的主机,或者你可以操控你的web服务器,你应该尝试这款最快的框架。

4. Assetic – 资源管理

Assetic是一个PHP的资源管理框架,用于合并和减小了CSS/JS资源。下面是例子。

  1. use Assetic\Asset\AssetCollection; 
  2. use Assetic\Asset\FileAsset; 
  3. use Assetic\Asset\GlobAsset; 
  4.   
  5. $js = new AssetCollection(array
  6.     new GlobAsset('/path/to/js/*'), 
  7.     new FileAsset('/path/to/another.js'), 
  8. )); 
  9.   
  10. //当资源被输出时,代码会被合并 
  11. echo $js->dump(); 

以这种方式合并资源是一个好主意,因为它可以加速站点。不仅仅总下载量减小了,也消除了大量不必要的HTTP请求(这是最影响页面加载时间的两件事)


www.phpzy.comtrue/php/20999.htmlTechArticlePHP开发者应了解的24个库(1) 作为一个PHP开发者,现在是一个令人激动的时刻。每天有许许多多有用的库分发出来,在Github上很容易发现和使用这些库。下面是我曾经遇到过最酷的24个库...

相关文章

PHP之友评论

今天推荐