a good php framework for beginners like me!

45
A Good PHP Frameworks for Beginners Like Me! 13 April 2010 Muhammad Ghazali http://muhammadghazali.web.id/blog

Upload: muhammad-ghazali

Post on 27-Apr-2015

937 views

Category:

Documents


1 download

DESCRIPTION

I present my “1-week review” of availabe PHP MVC frameworks, but not all of the frameworks I reviewed. A Good PHP Framework For Beginners Like Me! So take a look, dont hesitate to give me a comment. Enjoy!

TRANSCRIPT

Page 1: A Good PHP Framework for Beginners Like Me!

A Good PHP Frameworks for Beginners Like Me!

13 April 2010

Muhammad Ghazalihttp://muhammadghazali.web.id/blog

Page 2: A Good PHP Framework for Beginners Like Me!

2

About Me

Page 3: A Good PHP Framework for Beginners Like Me!

3

About Me

● A Java programmer that want to know how create a web app using PHP● A (not really) new comers to the PHP world!● We can discuss this topic by @muhghazali or [email protected]

Page 4: A Good PHP Framework for Beginners Like Me!

4

Agenda

Page 5: A Good PHP Framework for Beginners Like Me!

5

Agenda● What is framework ● Framework features ● Why framework● MVC frameworks written in PHP● Top 10 Hot PHP Frameworks● Top 10 Ranking PHP Frameworks● My Criteria● My Options● Why CodeIgniter● Why Kohana● Why Yii● My 1st step

Page 6: A Good PHP Framework for Beginners Like Me!

6

What is framework

Page 7: A Good PHP Framework for Beginners Like Me!

7

What is framework

I'm talking about a software framework...

Page 8: A Good PHP Framework for Beginners Like Me!

8

What is framework

A skeleton of an application into which developers plug in their code and provides most of the common functionality.  ­­ E. Gamma, et al., "Design Patterns", Addison­Wesley, 1995

Page 9: A Good PHP Framework for Beginners Like Me!

9

What is framework

A framework is a set of common and prefabricated software building blocks that 

programmers can use, extend or customize for specific computing solutions. With frameworks 

developers do not have to start from scratch each time they write an application. Frameworks are 

built from collection of objects so both the design and code of the framework may be reused. ­ 

JavaFramework. [1]

Page 10: A Good PHP Framework for Beginners Like Me!

10

Framework features

Page 11: A Good PHP Framework for Beginners Like Me!

11

Framework features

Software frameworks have distinguishing features that separate them from libraries or normal user 

applications. [2]

Page 12: A Good PHP Framework for Beginners Like Me!

12

Framework features

inversion  of  control  ­  The  overall  program's  flow  of control is not dictated by the caller, but by the framework. [2]

Page 13: A Good PHP Framework for Beginners Like Me!

13

Framework features

default behavior  ­ A  framework has a default behavior. This  default  behavior  must  actually  be  some  useful behavior and not a series of no­ops. [2]

Page 14: A Good PHP Framework for Beginners Like Me!

14

Framework features

extensibility ­ A framework can be extended by the user usually  by  selective  overriding  or  specialized  by  user code providing specific functionality. [2]

Page 15: A Good PHP Framework for Beginners Like Me!

15

Framework features

non­modifiable framework code ­ The framework code, in  general,  is  not  allowed  to  be  modified.  Users  can extend the framework, but not modify its code. [2]

Page 16: A Good PHP Framework for Beginners Like Me!

16

Why framework

Page 17: A Good PHP Framework for Beginners Like Me!

17

Why framework

● It makes it easier to work with complex technologies. [14]● It ties together a bunch of discrete objects/components into something more useful. [14]● It forces the team (or just me) to implement code in a way that promotes consistent coding, fewer bugs, and more flexible applications. [14]● Everyone can easily test and debug the code, even code that they didn't write. [14]

Page 18: A Good PHP Framework for Beginners Like Me!

18

MVC Frameworks Written in PHP 

Page 19: A Good PHP Framework for Beginners Like Me!

19

MVC Frameworks Written in PHP Web Application Component ToolkitAchievo ATK

Akelos PHP FrameworkAmodules3

AmbivalenceAukyla PHP Framework

BinarycloudBiscuit

BitweaverCaffeine Web Framework

CakePHPCastorCgiapp

Page 20: A Good PHP Framework for Beginners Like Me!

20

MVC Frameworks Written in PHPCodeIgniterCopix

Core Enterprise PHPFastFrameEZ PublishFusebox

FuseLogicHalo

KohanaKonstruktKumbiaKrysalis

Inek

Page 21: A Good PHP Framework for Beginners Like Me!

21

MVC Frameworks Written in PHPInnomaticInterJinn

IsmoJelix

KolibriLimb PHP Web Application Framework

LimonadeLogiCreate

MedusaMojavi

NavigatorNette

Nexista

Page 22: A Good PHP Framework for Beginners Like Me!

22

MVC Frameworks Written in PHPP4APHP on TraxPHP WorkPhpDronePHPulsePhpMVC

PhpPeanutsPhramePopoonPradoProntoQcodoRwfphp

Page 23: A Good PHP Framework for Beginners Like Me!

23

MVC Frameworks Written in PHPSamstyle PHP FrameworkSilverStripe

SeagullSitellite

SolarPHPSqeletor

StudsStruts4phpSymfonyTaniPHP

Tigermouseweb.frameworkWolfden CMF

Page 24: A Good PHP Framework for Beginners Like Me!

24

MVC Frameworks Written in PHP

XatafaceYellow Duck Framework

Zend FrameworkZephyr Framework

ZNFZoop Framework

Page 25: A Good PHP Framework for Beginners Like Me!

25

Top 10 Hot PHP Frameworks

Page 26: A Good PHP Framework for Beginners Like Me!

26

Top 10 Hot PHP Frameworks

CodeIgniterYii

CakePHPZend

SymfonyPHPDevShell

PradoAkelosZoop

QPHP

Page 27: A Good PHP Framework for Beginners Like Me!

27

Top 10 Ranking PHP Frameworks

Page 28: A Good PHP Framework for Beginners Like Me!

28

Top 10 Ranking PHP Frameworks

YiiCodeIgniter

PHPDevShellSymfonyCakePHP

AkelosPradoZendZoop

EZ Components

Page 29: A Good PHP Framework for Beginners Like Me!

29

My criteria

Page 30: A Good PHP Framework for Beginners Like Me!

30

My criteria

Simplicity

Flexibility

Extensive documentations and tutorials

A large community

Easy to learn for beginner (in the PHP world), 

like me!

Page 31: A Good PHP Framework for Beginners Like Me!

31

My options

Page 32: A Good PHP Framework for Beginners Like Me!

32

My options

Disclaimer:  My  judgement  based  on  what  they say about the frameworks, see the reference page for more details.

Page 33: A Good PHP Framework for Beginners Like Me!

33

My options

CodeIgniter ­ http://codeigniter.com/ Kohana ­ http://www.kohanaphp.com/

Yii ­ http://www.yiiframework.com/

Page 34: A Good PHP Framework for Beginners Like Me!

34

Why CodeIgniter

Page 35: A Good PHP Framework for Beginners Like Me!

35

Why CodeIgniter● Easy to install [13]

● Active community [9] [10] [11]

● Extensive documentation and tutorials

● Flexible [13]

● Offers query builders and database manipulation 

classes

● Has a very nice Input Class that sanitizes some 

of the input [13]

Page 36: A Good PHP Framework for Beginners Like Me!

36

Why Kohana

Page 37: A Good PHP Framework for Beginners Like Me!

37

Why Kohana

● Easy to install

● Strict PHP5 OOP [6]

● No dependencies on PECL extensions or PEAR libraries

● Good documentation and tutorials

● Cascading file system (offers high level modularity) [7]

● Exceptionally well configuration system [7]

● Built­in Auth module [7]

● Kohana has a good logging class [7]

Page 38: A Good PHP Framework for Beginners Like Me!

38

Why Yii

Page 39: A Good PHP Framework for Beginners Like Me!

39

Why Yii● Easy to install [13]

● Flexible [13]

● Claims to have very high­performance [8]

● Strict PHP5 OOP

● Built­in support for both authentication and 

authorisation

● Provides a much more powerful and flexible session 

class

Page 40: A Good PHP Framework for Beginners Like Me!

40

My 1st step

Page 41: A Good PHP Framework for Beginners Like Me!

41

My 1st step

I will graspI will grasp

CodeIgniterCodeIgniter1st1st

Page 42: A Good PHP Framework for Beginners Like Me!

42

Reference

1. http://www.jfwk.com/what_is.html, retrieved 8 April 20102. “Software Framework”, http://en.wikipedia.org/wiki/Software_framework, retrieved 7 April 20103. “Web Application Framework”, http://en.wikipedia.org/wiki/Web_application_framework4. “MVC Frameworks written in PHP”,http://www.phpwact.org/php/mvc_frameworks, retrieved 7 April 20105. “Top 10 PHP Frameworks”, http://www.phpframeworks.com/top­10­php­frameworks/, retrieved 7 April 2010

Page 43: A Good PHP Framework for Beginners Like Me!

43

Reference

6. “Notes on Choosing a PHP Framework: A Quick Comparison of CodeIgniter and Kohana”, http://www.beyondcoding.com/2008/02/23/notes­on­choosing­a­php­framework­a­quick­comparison­of­codeigniter­and­kohana/7. “Choosing a PHP Framework Round 2: Yii vs Kohana vs CodeIgniter”, http://www.beyondcoding.com/2009/03/02/choosing­a­php­framework­round­2­yii­vs­kohana­vs­codeigniter/8. “Performance of Yii”, http://www.yiiframework.com/performance/, retrieved 8 April 20109. “CodeIgniter forum”,http://codeigniter.com/forums/10. “CodeIgniter bug tracker”,a http://codeigniter.com/bug_tracker/11. “CodeIgniter wiki page”, http://codeigniter.com/wiki/12. “A Guide to PHP Frameworks”, http://php.dzone.com/articles/guide­php­frameworks

Page 44: A Good PHP Framework for Beginners Like Me!

44

Reference

13. “Comparison of PHP frameworks – Part I”, http://daniel.carrera.bz/2009/01/comparison­of­php­frameworks­part­i/14. “What Is A Framework?”, http://www.codeproject.com/KB/architecture/WhatIsAFramework.aspx

Page 45: A Good PHP Framework for Beginners Like Me!

45

Q & A

??