public function resource($route, $controller, $additionals = []) { $collection = new \Phalcon\Mvc\Micro\Collection(); $collection->setPrefix($route); $collection->setHandler(new $controller()); $collection->get('/', 'getAll'); $collection->get('/{id}', 'get'); $collection->post('/', 'create'); $collection->put('/{id}', 'update'); $collection->delete('/{id}', 'delete'); $this->mount($collection); }
/** * Collections let us define groups of routes that will all use the same controller. * We can also set the handler to be lazy loaded. Collections can share a common prefix. * @var $exampleCollection */ // This is an Immeidately Invoked Function in php. The return value of the // anonymous function will be returned to any file that "includes" it. // e.g. $collection = include('example.php'); return call_user_func(function () { $collection = new \Phalcon\Mvc\Micro\Collection(); $collection->setPrefix('/api/wordType')->setHandler('\\Base\\Controllers\\Dictionary\\WordTypeController')->setLazy(true); // Set Access-Control-Allow headers. $collection->options('/', 'optionsBase'); $collection->options('/{id}', 'optionsOne'); // First paramter is the route, which with the collection prefix here would be GET /example/ // Second paramter is the function name of the Controller. $collection->get('/', 'get'); // This is exactly the same execution as GET, but the Response has no body. $collection->head('/', 'get'); // $id will be passed as a parameter to the Controller's specified function $collection->get('/{id:[0-9]+}', 'getOne'); $collection->head('/{id:[0-9]+}', 'getOne'); $collection->post('/create', 'create'); $collection->post('/search', 'search'); $collection->post('/update', 'update'); $collection->delete('/{id:[0-9]+}', 'delete'); $collection->put('/{id:[0-9]+}', 'put'); $collection->patch('/{id:[0-9]+}', 'patch'); return $collection; });
<?php /** * Collections let us define groups of routes that will all use the same controller. * We can also set the handler to be lazy loaded. Collections can share a common prefix. * @var $channelsCollection */ // This is an Immediately Invoked Function in php. The return value of the // anonymous function will be returned to any file that "includes" it. // e.g. $collection = include('channels.php'); return call_user_func(function () { $channelsCollection = new \Phalcon\Mvc\Micro\Collection(); $channelsCollection->setPrefix('/' . $this->di->getConfig()->application->version . '/channels')->setHandler('\\App\\Modules\\Backend\\Controllers\\ChannelsController')->setLazy(true); // Set Access-Control-Allow headers. $channelsCollection->options('/', 'optionsBase'); $channelsCollection->options('/{id}', 'optionsOne'); // First paramter is the route, which with the collection prefix here would be GET /channels/ // Second paramter is the function name of the Controller. $channelsCollection->get('/', 'get'); // This is exactly the same execution as GET, but the Response has no body. $channelsCollection->head('/', 'get'); $channelsCollection->post('/search', 'search'); $channelsCollection->post('/search/{id:' . $this->di->getConfig()->application->idRegExp . '+}', 'searchOne'); // $id will be passed as a parameter to the Controller's specified function $channelsCollection->get('/{id:' . $this->di->getConfig()->application->idRegExp . '+}', 'getOne'); $channelsCollection->head('/{id:' . $this->di->getConfig()->application->idRegExp . '+}', 'getOne'); $channelsCollection->post('/', 'post'); $channelsCollection->delete('/{id:' . $this->di->getConfig()->application->idRegExp . '+}', 'delete'); $channelsCollection->put('/{id:' . $this->di->getConfig()->application->idRegExp . '+}', 'put'); return $channelsCollection; });
<?php /** * Standard routes for resource * Refer to routes/collections/example.php for further details */ return call_user_func(function () { $routes = new \Phalcon\Mvc\Micro\Collection(); // VERSION NUMBER SHOULD BE FIRST URL PARAMETER, ALWAYS // setHandler MUST be a string in order to support lazy loading $routes->setPrefix('/v1/events')->setHandler('\\PhalconRest\\Controllers\\EventController')->setLazy(true); $routes->options('/', 'optionsBase'); $routes->options('/{id}', 'optionsOne'); $routes->get('/', 'get'); $routes->head('/', 'get'); $routes->post('/', 'post'); $routes->get('/{id:[0-9]+}', 'getOne'); $routes->head('/{id:[0-9]+}', 'getOne'); $routes->delete('/{id:[0-9]+}', 'delete'); $routes->put('/{id:[0-9]+}', 'put'); $routes->patch('/{id:[0-9]+}', 'patch'); return $routes; });
/** * Collections let us define groups of routes that will all use the same controller. * We can also set the handler to be lazy loaded. Collections can share a common prefix. * @var $productsCollection */ // This is an Immediately Invoked Function in php. The return value of the // anonymous function will be returned to any file that "includes" it. // e.g. $collection = include('products.php'); return call_user_func(function () { $productsCollection = new \Phalcon\Mvc\Micro\Collection(); $productsCollection->setPrefix('/' . $this->di->getConfig()->application->version . '/products')->setHandler('\\App\\Modules\\Backend\\Controllers\\ProductsController')->setLazy(true); // Set Access-Control-Allow headers. $productsCollection->options('/', 'optionsBase'); $productsCollection->options('/{id}', 'optionsOne'); // First paramter is the route, which with the collection prefix here would be GET /products/ // Second paramter is the function name of the Controller. $productsCollection->get('/', 'get'); // This is exactly the same execution as GET, but the Response has no body. $productsCollection->head('/', 'get'); // $id will be passed as a parameter to the Controller's specified function $productsCollection->get('/{id:' . $this->di->getConfig()->application->idRegExp . '+}', 'getOne'); $productsCollection->head('/{id:' . $this->di->getConfig()->application->idRegExp . '+}', 'getOne'); $productsCollection->post('/', 'post'); $productsCollection->post('/search', 'search'); $productsCollection->post('/search/{id:' . $this->di->getConfig()->application->idRegExp . '+}', 'searchOne'); $productsCollection->post('/import', 'bulkImport'); $productsCollection->delete('/{id:' . $this->di->getConfig()->application->idRegExp . '+}', 'delete'); $productsCollection->put('/{id:' . $this->di->getConfig()->application->idRegExp . '+}', 'put'); $productsCollection->put('/upload/{id:' . $this->di->getConfig()->application->idRegExp . '+}', 'upload'); return $productsCollection; });
<?php /** * Collections let us define groups of routes that will all use the same controller. * We can also set the handler to be lazy loaded. Collections can share a common prefix. * @var $autocompleteCollection */ // This is an Immeidately Invoked Function in php. The return value of the // anonymous function will be returned to any file that "includes" it. // e.g. $collection = include('autocomplete.php'); return call_user_func(function () { $userCollection = new \Phalcon\Mvc\Micro\Collection(); $userCollection->setPrefix('/v1/user')->setHandler('\\Api\\Controllers\\UserController')->setLazy(true); // Set Access-Control-Allow headers. $userCollection->options('/', 'optionsBase'); $userCollection->options('/{id,email,images}', 'optionsOne'); // First paramter is the route, which with the collection prefix here would be GET /autocomplete/ // Second paramter is the function name of the Controller. $userCollection->get('/', 'get'); $userCollection->post('/', 'post'); $userCollection->put('/{id:[a-zA-Z0-9_-]+}', 'put'); // This is exactly the same execution as GET, but the Response has no body. $userCollection->head('/', 'get'); return $userCollection; });
<?php /** * Created by PhpStorm. * User: Dapo * Date: 09-Dec-14 * Time: 1:43 PM */ return call_user_func(function () { $api = new \Phalcon\Mvc\Micro\Collection(); $api->setPrefix('/v1/grouper')->setHandler('\\PhalconRest\\Controllers\\GrouperController')->setLazy(true); // Issues Handlers $api->get('/issues', 'issues'); $api->options('/issues', 'info'); $api->get('/issues/principles', 'issuePrinciples'); $api->options('/issues/principles', 'info'); $api->get('/issues/stats', 'issueStats'); $api->options('/issues/stats', 'info'); $api->put('/principles/{id:[0-9]+}', 'updatePrinciple'); $api->options('/principles/{id:[0-9]+}', 'info'); $api->get('/reviews', 'reviews'); $api->options('/reviews', 'info'); $api->post('/reviews', 'newReview'); $api->put('/reviews/{id:[0-9]+}', 'updateReview'); return $api; });
<?php /** * Collections let us define groups of routes that will all use the same controller. * We can also set the handler to be lazy loaded. Collections can share a common prefix. * @var $autocompleteCollection */ return call_user_func(function () { $collection = new \Phalcon\Mvc\Micro\Collection(); $collection->setPrefix('/v1/registerPersonal')->setHandler('\\Api\\Controllers\\RegisterPersonalController')->setLazy(true); // Set Access-Control-Allow headers. $collection->options('/', 'optionsBase'); // $collection->options('/{access_token}', 'optionsOne'); // First paramter is the route, which with the collection prefix here would be GET /autocomplete/ // Second paramter is the function name of the Controller. $collection->get('/', 'get', 'registerPersonal-authbasic'); // $collection->get('/{aacess}', 'get', 'registerPersonal-authbasic'); $collection->post('/', 'post'); $collection->put('/', 'put'); // This is exactly the same execution as GET, but the Response has no body. $collection->head('/', 'get'); return $collection; });
<?php /** * Collections let us define groups of routes that will all use the same controller. * We can also set the handler to be lazy loaded. Collections can share a common prefix. * @var $exampleCollection */ // This is an Immeidately Invoked Function in php. The return value of the // anonymous function will be returned to any file that "includes" it. // e.g. $collection = include('example.php'); return call_user_func(function () { $exampleCollection = new \Phalcon\Mvc\Micro\Collection(); $exampleCollection->setPrefix('/v1/example')->setHandler('\\PhalconRest\\Controllers\\ExampleController')->setLazy(true); // Set Access-Control-Allow headers. $exampleCollection->options('/', 'optionsBase'); $exampleCollection->options('/{id}', 'optionsOne'); // First paramter is the route, which with the collection prefix here would be GET /example/ // Second paramter is the function name of the Controller. $exampleCollection->get('/', 'get'); // This is exactly the same execution as GET, but the Response has no body. $exampleCollection->head('/', 'get'); // $id will be passed as a parameter to the Controller's specified function $exampleCollection->get('/{id:[0-9]+}', 'getOne'); $exampleCollection->head('/{id:[0-9]+}', 'getOne'); $exampleCollection->post('/', 'post'); $exampleCollection->delete('/{id:[0-9]+}', 'delete'); $exampleCollection->put('/{id:[0-9]+}', 'put'); $exampleCollection->patch('/{id:[0-9]+}', 'patch'); return $exampleCollection; });
<?php /** * Collections let us define groups of routes that will all use the same controller. * We can also set the handler to be lazy loaded. Collections can share a common prefix. * @var $autocompleteCollection */ return call_user_func(function () { $collection = new \Phalcon\Mvc\Micro\Collection(); $collection->setPrefix('/v1/ad')->setHandler('\\Api\\Controllers\\AdController')->setLazy(true); // Set Access-Control-Allow headers. $collection->options('/', 'optionsBase'); // $collection->options('/{access_token}', 'optionsOne'); // First paramter is the route, which with the collection prefix here would be GET /autocomplete/ // Second paramter is the function name of the Controller. $collection->get('/{id}', 'get', 'ad'); $collection->get('/@{myuri}', 'getByMyUri', 'ad-my-uri-allow'); $collection->get('/user/{user_id}', 'getByUserId', 'ad'); $collection->get('/registerinformation', 'registerInformation', 'ad-registerinformation-authbasic'); $collection->get('/location/{lat}/{lng}/{distance}', 'location', 'ad-location-authbasic'); $collection->get('/search/address/{address}', 'searchByAddress', 'ad-location-address-allow'); $collection->post('/', 'post'); $collection->put('/{id}', 'put'); // This is exactly the same execution as GET, but the Response has no body. $collection->head('/', 'get'); return $collection; });
<?php /** * Collections let us define groups of routes that will all use the same controller. * We can also set the handler to be lazy loaded. Collections can share a common prefix. * @var $countryOptionsCollection */ // This is an Immediately Invoked Function in php. The return value of the // anonymous function will be returned to any file that "includes" it. // e.g. $collection = include('country_options.php'); return call_user_func(function () { $countryOptionsCollection = new \Phalcon\Mvc\Micro\Collection(); $countryOptionsCollection->setPrefix('/' . $this->di->getConfig()->application->version . '/country_options')->setHandler('\\App\\Modules\\Backend\\Controllers\\CountryOptionsController')->setLazy(true); // Set Access-Control-Allow headers. $countryOptionsCollection->options('/', 'optionsBase'); $countryOptionsCollection->options('/{id}', 'optionsOne'); // First paramter is the route, which with the collection prefix here would be GET /country_options/ // Second paramter is the function name of the Controller. $countryOptionsCollection->get('/', 'get'); // This is exactly the same execution as GET, but the Response has no body. $countryOptionsCollection->head('/', 'get'); // $id will be passed as a parameter to the Controller's specified function $countryOptionsCollection->get('/{id:' . $this->di->getConfig()->application->idRegExp . '+}', 'getOne'); $countryOptionsCollection->head('/{id:' . $this->di->getConfig()->application->idRegExp . '+}', 'getOne'); $countryOptionsCollection->post('/', 'post'); $countryOptionsCollection->post('/search', 'search'); $countryOptionsCollection->post('/search/{id:' . $this->di->getConfig()->application->idRegExp . '+}', 'searchOne'); $countryOptionsCollection->delete('/{id:' . $this->di->getConfig()->application->idRegExp . '+}', 'delete'); $countryOptionsCollection->put('/{id:' . $this->di->getConfig()->application->idRegExp . '+}', 'put'); return $countryOptionsCollection; });
<?php /** * Collections let us define groups of routes that will all use the same controller. * We can also set the handler to be lazy loaded. Collections can share a common prefix. * @var $autocompleteCollection */ return call_user_func(function () { $collection = new \Phalcon\Mvc\Micro\Collection(); $collection->setPrefix('/v1/register')->setHandler('\\Api\\Controllers\\RegisterController')->setLazy(true); // Set Access-Control-Allow headers. $collection->options('/', 'optionsBase'); // $collection->options('/{access_token}', 'optionsOne'); // First paramter is the route, which with the collection prefix here would be GET /autocomplete/ // Second paramter is the function name of the Controller. $collection->get('/', 'get', 'register-authbasic'); $collection->get('/{aacess}', 'get', 'register-authbasic'); $collection->post('/', 'post', 'register-post-authbasic'); $collection->put('/', 'put', 'register-put--authbasic'); // This is exactly the same execution as GET, but the Response has no body. $collection->head('/', 'get', 'register-head-authbasic'); return $collection; });