composer require wwtg99/flight2wwu
Or, add require in composer.json "wwtg99/flight2wwu": "*"
vendor/bin/wwtinit <project_dir>
Set web directory to web and set AllowOverride to All.
Add in server
location / {
try_files $uri $uri/ /index.php;
}
Change conf files in App/config. At most time only change app_config.php.
- App: application directory
- config: config files
- lang: translation files
- Controller: controller class
- Model: model class
- view: view templates
- Plugin: plugin class
- config: config files
- bootstrap: bootstrap scripts
- storage: storage directory, write access
- log: default log directory
- tmp: default tmp directory (ex. config cache file)
- web: web document root
The super class for all controllers.
The super class for all Restful controllers. Subclass must implement 7 functions.
- index: URI /resources Method Get, list all resources
- show: URI /resources/{id} Method Get, get one resource by id
- create: URI /resources/create Method Get, view to create resource, used for restful+
- store: URI /resources Method Post, create resource
- edit: URI /resources/{id}/edit Method Get, view to update resource, used for restful+
- update: URI /resource/{id} Method Put/Patch, update resource, Put to update all data (null for data not provided), Patch to update provided data
- destroy: URI /resource/{id} Method Delete, delete resource
The best super class for restful APIs. Implement all functions in RestfulController (disable create and edit), and provided 5 functions to handle resources:
- listResources: list resources
- getResource: get one resource
- createResource: create resource
- updateResource: update resource
- deleteResource: delete resource
And 3 attributes:
- filterFields: fields to filter
- createFields: fields for creation
- updateFields: fields for update
The best super class for restful view controllers. Implement all functions in RestfulController, all functions will return by view.
Resource URI,represent one resource, example: http://example.com/resources/
Method | URI | Action |
---|---|---|
GET | /zoos | get resource list |
POST | /zoos | create resource |
GET | /zoos/{id} | get resource by id |
PUT | /zoos/{id} | update resource by id (must provided all fields) |
PATCH | /zoos/{id} | update resource by id (provided partial fields) |
DELETE | /zoos/{id} | delete resource by id |
Get resource list support paging, order and filters.
Paging:
Method one:
page: page number page_size: number per page, optional, default 100 Example: ?page=1&page_size=100
Method two:
limit: number limitation offset:number offset, optional, default 0 Example: ?limit=100&offset=10
Order:
Use sort parameter, >field to sort by field ascending, <field to sort by field descending, use comma (,) to separate fields, Example: ?sort=>name,<age
Filters:
Use expression to filter, supported expression: =, >=, <=, !=。 Example:?name=Tom ?age>=10 ?name!=Tim
Get resource list and get one resource support select fields. Use fields parameters, comma (,) to separate. Example: ?fields=name,age,dob,pob If fields is count, then show number of data.
- GET return
200
。 - POST create resource successfully returning
201
, create resource failed returning200
and error message, server error returning500
. - PUT/PATCH update resource successfully returning
201
, update resource failed returning200
and error message, server error returning500
。 - DELETE delete resource successfully returning
204
, delete resource failed returning200
and error message, server error returning500
。