Keo Visay
Certified TYPO3 Integrator
Head of TYPO3 Cambodia Community
From Takhmao, Kandal
Like TYPO3 Coding
Working at Web Essentials
Web Essentials Team
What is FLOW3?
What is FLOW3?
PHP-based Web Application Platform
Creates excellent web solutions
Fast results!
keep your head clear and let you focus on the essential parts
Reliable foundation for complex applications
Why FLOW3?
Well-suited for enterprise-grade applications
Easy-to-read source code
Stability, Security, Performance
User experience
Backed by one of the biggest PHP communities (6000+ contributors)
FLOW3 Core Team
FLOW3 Advanced Features
Supports Domain-Driven Design
Object Persistence with Doctrine2
Test-Driven Development
Continuous Integration
Dependency Injection
Foundation for the TYPO3 Content Management System
Standalone packages of FLOW3 can turn to TYPO3 CMS plugins easily
FLOW3 – The Rocket Science
FLOW3 Framework Submodules
FLOW3 – The Rocket Science
Requirements
Server Environment
Supported Operating Systems:
Linux
Mac OSX
Windows
Requirements
Supported HTTP server platforms:
Apache 2 (recommended)
NGINX (experimental)
IIS (experimental)
Requirements
PHP:
Requires PHP 5.3.2 or higher
Supported Database Systems:
All systems supported by Doctrine2 can be used with FLOW3
Installation
Download http://flow3.typo3.org/download.html
Setting correct file permission
./flow3 core:setfilepermissions visay www-data www-data
Add command line user to the web server group
sudo usermod -a -G www-data visay
Installation
Configure your VirtualHost
Testing your installation
<VirtualHost *:80>
DocumentRoot /var/www/barcamp/Web/
ServerName barcamp.flow3
SetEnv FLOW3_CONTEXT Development
<Directory /var/www/barcamp/>
AllowOverride All
</Directory>
<IfModule mod_negotiation.c>
# prevents Apache's automatic file negotiation, it breaks resource URLs
Options -MultiViews
</IfModule>
</VirtualHost>
FLOW3 Welcome Screen
Demo Application
The Blog Example
Kickstart Your First Application
./flow3 kickstart:package Visay.Demo Packages/
Application/
Visay.Demo/
Classes/
Configuration/
Meta/
Resources/
Tests/
Hello World?
Packages/Application/Visay.Demo/Classes/Controller/
User Input
Database Setup
Configuration/Settings.yaml
Doctrine Migrate
./flow3 doctrine:migrate
Storing Objects
./flow3 kickstart:actioncontroller --generate-actions --generate-related Visay.Demo Customer
Created .../Visay.Demo/Classes/Domain/Model/Customer.php
Created .../Visay.Demo/Classes/Domain/Repository/CustomerRepository.php
Created .../Visay.Demo/Classes/Controller/CustomerController.php
Created .../Visay.Demo/Resources/Private/Layouts/Default.html
Created .../Visay.Demo/Resources/Private/Templates/Customer/Index.html
Created .../Visay.Demo/Resources/Private/Templates/Customer/New.html
Created .../Visay.Demo/Resources/Private/Templates/Customer/Edit.html
Created .../Visay.Demo/Resources/Private/Templates/Customer/Show.html
Application Context
The FLOW3 Framework can be launched in different application contexts (a set of configuration)
Production
Development
Testing
Staging
More contexts may be defined by just adding configuration
Packages
FLOW3 is a package-based system, even FLOW3 itself
Packages act as a container for different matters
Contain PHP code which adds certain functionality
Contain documentation
Consist of templates, images or other resources.
Application Fine-tuning
Form validation
Action Route
Route Part Handlers
Questions ???
References
http://flow3.typo3.org/
Thank you!
Top Related