Admin Generator It's RAD baby!
Admin Generator It's RAD baby! Rapid Application Development
Who am I, and what do I do? Ian P. Christian (aka. pookey) Coding PHP for about 8 years Work for VoIP.co.uk Involved with symfony and Doctrine My website: http://pookey.co.uk
About this presentation Based on sf1.0 CRUD Admin Generator sfExtJsThemePlugin Questions and maybe some answers
Why Bother?! Doing it yourself is easy! The admin generator has a learning curve The admin generator is slow
Reasons to use it Well documented Well Tested Reduced time to market Because it's cool!
Welcome to the Farm We have Farms A Farm can contain many Barns We have Animals A Barn can contain Many Animals Animals can by in many Barns
Assumptions You have sf1.0 or sf1.1 installed You have a project configured You have a 'backend' application You have configured your database.yml You're using Propel 1.2
CRUD: Lets make a farm! module application model
Show me the code!
What about templates?
That's useless! But... I can change my modelz? Sorry Spoon Cat, no! If you want that, you'll have to keep listening!
A better CRUD module application model
The generated CRUD Edit/Create/Delete List View
The generated CRUD action WTF? Where's the code!!
The real code cache/backend/prod/modules/autoFarm/actions/actions.class.php
generator.yml
Wow, how cool! Lolz, that's cool!! What else can symfony do to help me work less?
init-admin module application model
The generated module
generator.yml generator.yml is the heart of the admin generator Lots of options, too many to cover here
Validation (yes,the vim highlighting of YAML isn't perfect!)
The error
What does a cow look like? Add 'picture' to the schema.yml Regenerate the model We only need to change the generator.yml and add validation
Updated validation
Updated generator.yml
What it looks like
Improving our list
Improving our list apps/backend/modules/animal/config/generator.yml
Improving our list apps/backend/modules/animal/templates/_picture.php
The improved list
Relationships
Adding a Barn
Adding a barn What is '1'?!
Improved Barn
Many-to-Many
Many-to-many
Improving our Animal Form apps/backend/modules/animal/config/generator.yml apps/backend/modules/animal/templates/_legs.php.html
Improving our Animal Form apps/backend/modules/animal/actions/actions.class.php
Improving our Animal Form
Filtering
Filtering
Advanced Filtering apps/backend/modules/animal/config/generator.yml apps/backend/modules/animal/templates/_num_legs.php
Advanced Filtering
Adding Animals to the Barn List
Specifying a Peer Method
What else can it do? Integration with credentials I18N is possible Rich text editor Rich date editor
sfExtJsThemePlugin Contains: Generator + Theme View ( js ) requests data ( json ) at the user More interactive user interface Designed to create web-applications Capable of: Lazy loads views (edit/list/filter-panels) Packing and minifying automatically
The Future! New Form API – easier to extend Propel & Doctrine support Themable I18N Better upload http://trac.symfony-project.org/ wiki/SprintSymfony12AdminGenerator
Questions? Thanks to...some people....
Recommend
More recommend