Advertisement
AnrDaemon

Composer+own library project setup

May 19th, 2017
217
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 0.82 KB | None | 0 0
  1. ./src - project code (your Vendor\ namespace)
  2. ./vendor - Composer-managed dependencies
  3. ./composer.json
  4. ./composer.lock
  5.  
  6. ./src/classloader.php:
  7. <?php
  8. /** Universal stackable classloader.
  9. *
  10. * @version SVN: $Id$
  11. */
  12.  
  13. namespace Vendor;
  14.  
  15. use SplFileInfo;
  16.  
  17. spl_autoload_register(function($className)
  18. {
  19.   if(strstr($className, '\\', true) !== __NAMESPACE__)
  20.     return;
  21.  
  22.   $file = new SplFileInfo(__DIR__ . strtr(strstr("$className.php", '\\'), '\\', '/'));
  23.   $path = $file->getRealPath();
  24.   if(!empty($path))
  25.   {
  26.     include_once $path;
  27.   }
  28. });
  29. ?>
  30.  
  31. ./src/init.php:
  32. <?php
  33.  
  34. // Project
  35. require_once __DIR__ . "/classloader.php";
  36.  
  37. // Composer
  38. require_once dirname(__DIR__) . "/vendor/autoload.php";
  39.  
  40. ./src/app.php:
  41. <?php
  42.  
  43. namespace Vendor;
  44.  
  45. require_once __DIR__ . "/init.php";
  46.  
  47. // your application code here
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement