예제 #1
0
 /**
  * Create a classes directory and autoload it.
  *
  * @param string          $directory
  * @param OutputInterface $output
  * 
  * @return $this
  */
 protected function createClassesDir($directory, $output)
 {
     File::mkdir($directory . '/app/classes');
     File::gitkeep($directory . '/app/classes');
     File::replaceOnce($directory . '/app/start/global.php', "app_path().'/models',", "app_path().'/models',\n\tapp_path().'/classes',");
     File::replaceOnce($directory . '/composer.json', "\"app/models\",", "\"app/models\",\n\t\t\t\"app/classes\",");
     $output->writeln('app/classes directory created and autoloaded');
     return $this;
 }
예제 #2
0
 /**
  * Create all migrations, models, services, validators, and event handlers for auth.
  *
  * @param string          $directory
  * @param OutputInterface $output
  * 
  * @return $this
  */
 protected function createAuthModels($directory, $output)
 {
     File::copyIfNone(dirname(__FILE__) . '/../stubs/app/database/migrations/2015_01_01_000000_create_authorize_tables.stub', $directory . '/app/database/migrations/2015_01_01_000000_create_authorize_tables.php');
     File::copy(dirname(__FILE__) . '/../stubs/app/models/User.stub', $directory . '/app/models/User.php');
     File::copyIfNone(dirname(__FILE__) . '/../stubs/app/models/Role.stub', $directory . '/app/models/Role.php');
     File::copyIfNone(dirname(__FILE__) . '/../stubs/app/models/Service/User.stub', $directory . '/app/models/Service/User.php');
     File::copyIfNone(dirname(__FILE__) . '/../stubs/app/models/Service/User/Auth.stub', $directory . '/app/models/Service/User/Auth.php');
     File::copyIfNone(dirname(__FILE__) . '/../stubs/app/models/Validator/User.stub', $directory . '/app/models/Validator/User.php');
     File::copyIfNone(dirname(__FILE__) . '/../stubs/app/models/Validator/User/Auth.stub', $directory . '/app/models/Validator/User/Auth.php');
     File::mkdir($directory . '/app/classes/Event');
     File::copyIfNone(dirname(__FILE__) . '/../stubs/app/classes/Event/User/Auth.stub', $directory . '/app/classes/Event/User/Auth.php');
     File::delete($directory . '/app/classes/.gitkeep');
     File::appendOnce($directory . '/app/events.php', "\nEvent::subscribe(new Event\\User\\Auth);\n");
     $output->writeln('migrations/models/services/validators/callback-handlers installed');
     return $this;
 }
예제 #3
0
 /**
  * Configure the controllers and views.
  *
  * @param string          $directory
  * @param OutputInterface $output
  * 
  * @return $this
  */
 protected function configureMVC($directory, $output)
 {
     File::delete($directory . '/app/controllers/HomeController.php');
     File::delete($directory . '/app/views/hello.php');
     File::copyIfNone(dirname(__FILE__) . '/../stubs/app/controllers/IndexController.stub', $directory . '/app/controllers/IndexController.php');
     File::put($directory . '/app/controllers/BaseController.php', File::get(dirname(__FILE__) . '/../stubs/app/controllers/BaseController.stub'));
     File::copyIfNone(dirname(__FILE__) . '/../stubs/app/views/index/index.blade.stub', $directory . '/app/views/index/index.blade.php');
     File::copyIfNone(dirname(__FILE__) . '/../stubs/app/views/error/index.blade.stub', $directory . '/app/views/error/index.blade.php');
     File::mkdir($directory . '/public/assets/css/controllers');
     File::mkdir($directory . '/public/assets/js/controllers');
     File::copyIfNone(dirname(__FILE__) . '/../stubs/public/assets/css/controllers/index/index.stub', $directory . '/public/assets/css/controllers/index/index.less');
     File::copyIfNone(dirname(__FILE__) . '/../stubs/public/assets/js/controllers/index/index.stub', $directory . '/public/assets/js/controllers/index/index.js');
     File::replace($directory . '/app/routes.php', "Route::get('/', function()\n{\n\treturn View::make('hello');\n});", "Route::get('/', 'IndexController@getIndex');\nRoute::controller('index', 'IndexController');");
     $output->writeln('mvc configured');
     return $this;
 }