Designing IA for AI - Information Architecture Conference 2024
Symfony workshop introductory slides
1. workshop
Ibuildings Presentation
Ibuildings
The PHP Professionals
www.ibuildings.nl
+31 118 429 550
info@ibuildings.nl
Ibuildings
Version 10
2. What will we do?
• Symfony installation
• A short overview into the symfony structure
• An introduction in the symfony CLI
• Database model creation without phpMyAdmin
• Creating a simple front-end
• Creating a simple admin interface
• Any questions... just ask!
Monday, December 10, 2007 2
3. Symfony installation
• We won’t do it, I’ll just tell about it ;)
• PEAR
pear channel-discover pear.symfony-project.com
pear install symfony/symfony
• SVN
checkout
externals
• Sandbox - no central installation
Monday, December 10, 2007 3
5. Symfony structure
• Project
global entity
holds everything
most of this outside the document root
web/ directory should be document root
• Application
Slightly less global entity
A group of modules that together form an app
Most common use: frontend and backend
• Module
Specific functionality, mostly around one data entity
For instance: “post” for the weblog post, “comment” for
comments to a weblog post
But data might mix... comments to a post
Monday, December 10, 2007 5
6. Symfony CLI
• Your development friend
• Automates boring tasks like
initializing your project
initializing applications and modules
writing models
altering models to reflect schema changes
writing full administration interface
writing basic (CRUD) actions
deployment of your application
Monday, December 10, 2007 6
8. Symfony CLI
• Most important beginner commands
symfony init-project / symfony new
symfony init-app / symfony app
symfony propel-build-model
symfony propel-build-sql / symfony propel-insert-sql
symfony propel-generate-crud
symfony init-module
symfony propel-init-admin
• And slightly further ahead
symfony plugin-install
symfony freeze
symfony sync
Monday, December 10, 2007 8
9. YAML
• YAML Ain't Markup Language
• Simple, readable text format
• Used widely in symfony for configuration
Monday, December 10, 2007 9
10. Creating your database
• Database schema is defined in YML
config/schema.yml
Monday, December 10, 2007 10
11. Creating your database
• Ensure settings in config/propel.ini are correct
• symfony propel-build-model
• symfony propel-build-sql
• symfony propel-insert-sql
• or: symfony-propel-build-all
• Configuring for your app:
config/databases.yml
Monday, December 10, 2007 11
12. Creating a simple frontend
• Creating an empty module
symfony init-module frontend simple
• Creating a CRUD module
symfony propel-generate-crud <app> <module>
<model>
symfony propel-generate-crud frontend weblog Weblog
• Now you have your basic functionality
But you won’t need everything
• visitors need not delete posts
• visitors need not create posts (well, usually...)
So... refactoring
Monday, December 10, 2007 12
13. Creating a simple backend
• symfony propel-init-admin <app> <module>
<model>
• symfony propel-init-admin backend weblog
Weblog
• Module seems empty, but contains all usual
admin functionality
• Still very flexible, with configuration:
generator.yml
Monday, December 10, 2007 13
14. That’s it for the overview
• Now go to work!
source: http://www.flickr.com/photos/bobjagendorf/86120479/ - license: CC Attribution-No Derivative Works 2.0 Generic
Monday, December 10, 2007 14