TYPO3 Congres 2011 - Rens Admiraal - FLOW3 en TYPO3 PHOENIX
Upcoming SlideShare
Loading in...5
×
 

TYPO3 Congres 2011 - Rens Admiraal - FLOW3 en TYPO3 PHOENIX

on

  • 462 views

 

Statistics

Views

Total Views
462
Views on SlideShare
462
Embed Views
0

Actions

Likes
0
Downloads
3
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

TYPO3 Congres 2011 - Rens Admiraal - FLOW3 en TYPO3 PHOENIX TYPO3 Congres 2011 - Rens Admiraal - FLOW3 en TYPO3 PHOENIX Presentation Transcript

  • FLOW3 & TYPO3 Phoenix Rens Admiraal e-mail: rens.admiraal@typo3.org twitter: @renst3vrijdag 18 november 11
  • Rens Admiraal • FLOW3 / TYPO3 5.0 “Phoenix” Core Developer • Senior Software Architect @ Drecomm • Code stijl / kwaliteit fanaat • 3 wonder kids • Zeiler / Volleyballer / ‘Basgitarist’vrijdag 18 november 11
  • FLOW3 ??? • PHP programmeren op een hoger niveau • Web Application Framework • PHP 5.3+ • Gratis!vrijdag 18 november 11
  • TYPO3 Phoenix ??? • TYPO3 v 5.0 • Op basis van FLOW3 • Vernieuwend en baanbrekend • Volop in ontwikkelingvrijdag 18 november 11
  • FLOW3 • Stimuleer kwalitatief hoogwaardige code • Focus op het nodige • Domain Driven Design! • Testbaarvrijdag 18 november 11
  • Ain’t Rocket Science Quickstart Eenvoudige installatie Tutorial Gemak voor de developer Kickstart is groot command @FLOW3magic FLOW3 Core Team IRC channelvrijdag 18 november 11
  • Rocket Science Routingvrijdag 18 november 11
  • pi_base Flexform Settings function init() { $this->pi_initPIflexForm(); $this->lConf = array(); $this->piFlexform = $this->cObj->data[pi_flexform]; foreach ($this->piFlexform[data] as $sheet => $data) { foreach ($data as $lang => $value) { foreach ($value as $key => $val) { $this->lConf[$key] = $this->pi_getFFvalue( $this->piFlexform, $key, $sheet ); } } } }vrijdag 18 november 11
  • Extbase flexform settings public function indexAction() { debug($this->settings); }vrijdag 18 november 11
  • FLOW3 Package Settings YAML Vendor: Package: setting: value setting2: value PHP public function indexAction() { TYPO3FLOW3var_dump($this->settings); }vrijdag 18 november 11
  • FLOW3 Package Settings class Test { /** * @var array */ protected $settings; /** * @param array $settings */ public function injectSettings(array $settings) { $this->settings = $settings; } public function dump() { TYPO3FLOW3var_dump($this->settings); } }vrijdag 18 november 11
  • Voorbeeld dependency injection use TYPO3FLOW3Annotations as FLOW3; /** * @FLOW3Scope("singleton") */ class StandardController extends TYPO3FLOW3MVCControllerActionController { /** * @var FLOW3DemoTest * @FLOW3Inject */ protected $testObject; /** * @return void */ public function indexAction() { TYPO3FLOW3var_dump($this->testObject); } }vrijdag 18 november 11
  • Voorbeeld validation /** * @var string * @FLOW3Validate(type="NotEmpty") * @FLOW3Validate(type="StringLength", options={ "maximum"=100 }) */ protected $name;vrijdag 18 november 11
  • AOP • Wikipedia: Aspectgeoriënteerd programmeren (AOP, of Aspect Oriented Development, AOD) is een uitbreiding op de bekende manieren van programmeren, waarbij het mogelijk wordt om een stuk code A "in te lassen" in een ander stuk code B zonder dat B een zichtbare verwijzing heeft naar A. • Kortom: mogelijkheid gedrag code aan te passen zonder de code zelf aan te passen.vrijdag 18 november 11
  • AOP: Advices • Before advice Wordt aangeroepen voor de methode. Heeft geen invloed op het uitvoeren van de methode. • After returning advice Wordt aangeroepen na de methode. Return value methode is beschikbaar in advice, maar kan niet aangepast worden. Wordt niet uitgevoerd als er een exceptie optreedt in de methode. • After throwing advice Wordt alleen uitgevoerd (na de methode) als er een exceptie in de methode optreedt.vrijdag 18 november 11
  • AOP: Advices • After advice Wordt uitgevoerd na de methode, niet afhankelijk van excepties. • Around advice Voert code uit voor en na de methode, en kan voorkomen dat de oorspronkelijke methode aangeroepen wordt. • Advice chain Er kunnen meerdere advices ingesteld worden op dezelfde methode. Deze worden dan na elkaar uitgevoerd.vrijdag 18 november 11
  • AOP • Method introduction • Property introductionvrijdag 18 november 11
  • AOP Voorbeeld /** * Log a message if a post is deleted * * @param TYPO3FLOW3AOPJoinPointInterface $joinPoint * @FLOW3Before("method(ExamplesForumDomainModelForum->deletePost())") * @return void */ public function logDeletePost(TYPO3FLOW3AOPJoinPointInterface $joinPoint) { $post = $joinPoint->getMethodArgument(post); $this->applicationLogger->log( Removing post . $post->getTitle(), LOG_INFO ); }vrijdag 18 november 11
  • Voorbeeld Security Framework - security: authentication: providers: MyLDAPProvider: providerClass: TYPO3MyCoolPackageSecurityAuthenticationMyLDAPProvider options: Some LDAP configuration options DefaultProvider: providerClass: PersistedUsernamePasswordProvidervrijdag 18 november 11
  • Voorbeeld Security Framework filters: - patternType: URL patternValue: /some/url/.* interceptor: AccessGrant - patternType: URL patternValue: /some/url/blocked.* interceptor: AccessDeny - patternType: MyCompanyMyPackageSecurityMyOwnRequestPattern patternValue: some pattern value interceptor: MyCompanyMyPackageSecurityMyOwnSecurityInterceptorvrijdag 18 november 11
  • FLOW3 Released! • Versie 1.0 release: 20 oktober 2011 • API nu ‘stabiel’ • Klaar voor gebruik in commerciële projectenvrijdag 18 november 11
  • Business • Al in gebruik in meerdere live projecten • Textiel print service in Duitsland, T3CON11, flow3.org, grote duitse retailer, Planet FLOW3, ...., uw site? • Kwalitatief betere, onderhoudbare, veilige, uitbreidbare en testbare code • Klaar voor de toekomstvrijdag 18 november 11
  • TYPO3 Phoenix • Volop in ontwikkeling • Intuïtief • Vernieuwendvrijdag 18 november 11
  • TYPO3 Phoenix begin 2011vrijdag 18 november 11
  • TYPO3 Phoenix nuvrijdag 18 november 11
  • TYPO3 Phoenix Demo Demovrijdag 18 november 11
  • TYPO3 Phoenix in de toekomst • http://forge.typo3.org/projects/typo3-v5 • 1e Release in 2012?vrijdag 18 november 11
  • TYPO3 v4 => TYPO3 Phoenix • Extbase & Fluid • verlaagde learning curve • begin ‘stijl transformatie’ • Extension Buildervrijdag 18 november 11
  • FLOW3 & TYPO3 Phoenix ??? Vragen ??? Rens Admiraal e-mail: rens.admiraal@typo3.org twitter: @renst3vrijdag 18 november 11