Re: [PHP] Best open source project/framework to support a php training course?
- From: larry@xxxxxxxxxxxxxxxx (Larry Garfield)
- Date: Wed, 27 Sep 2006 22:01:47 -0500
On Wednesday 27 September 2006 20:47, Ligaya A. Turmelle wrote:
There are a number of frameworks that you can use from PEAR (though many
argue over whether it is a framework), Solar, CakePHP, Symfony, Zend's,
and many many more. As for most OS projects - I don't know of a
particular project that uses a particular framework (someone feel free
to tell me otherwise). Many of the larger (aka well known) OS projects
tend to be hodged podged together from what I have been told (again
someone feel free to contradict me).
Varies widely with the project. OSCommerce is a great application to study as
an example of what NOT to do. It's horrid.
On the other hand, Drupal is a very good example of using PHP4-era code to its
fullest. Modular design, plugin architecture, separation of logic and
content and presentation, function-level polymorphism, all kinds of good
stuff. (Disclaimer: I am a Drupal contributor, so I am biased, but I'm a
Drupal contributor because of how good a system it is.) Of course, Drupal is
not a framework per se, but a CMS/framework. It's not for the first time PHP
developer.
Here's another idea: If they're just starting out, don't give them a
framework. Make them work without one, then write their own, realize how
hard it is, then they'll appreciate what separates good code from bad code
much better. :-) One should never use a WYSIWYG HTML editor until one is
fluent in HTML tags and CSS by hand. Similarly, using a super-high-level
framework before you understand how to write a decent function that
manipulates a nested associative array to control an SQL query means that you
will never learn how to properly manipulate a nested associative array (which
is, frankly, what makes PHP teh awesome).
Might I make a suggestion to you - no matter which framework/OS project
you use... Have it be in PHP5. Yeah it may restrict you in options, but
that is where PHP is going and to my mind that is what someone new to
PHP should be learning.
True, and Zend is certainly pushing that hard. On the other hand, there's
plenty to learn with PHP 4-era code (although that can certainly be done in
PHP 5) before introducing advanced topics like magic object callback
overrides. Plus, better than 50% of the shared hosts out there today still
run PHP 4 for a mixture of legit and stupid cop-out reasons.
You should also make sure to go over security in one of your classes -
the intro would be my preferred class since security is a mindset as
well as a way of coding. And it is easier to create habits then unlearn
and relearn them. Just my $0.02
The very very very first code they write after "Hello world" should be a
secure input wrapper. Go over ALL the issues with PHP user input *in
historical context* (register globals, magic quotes, $_REQUEST as evil, why
you should get out of the global namespace as soon as possible, etc.) and
have them write code to safely get input from the user regardless of the
server configuration. That right there is a good solid challenge, but it
makes them paranoid from day one, which is how they should be. It also is
code they can (and should) then use in all their later projects.
10 points off for every way you find to hack their code. :-)
--
Larry Garfield AIM: LOLG42
larry@xxxxxxxxxxxxxxxx ICQ: 6817012
"If nature has made any one thing less susceptible than all others of
exclusive property, it is the action of the thinking power called an idea,
which an individual may exclusively possess as long as he keeps it to
himself; but the moment it is divulged, it forces itself into the possession
of every one, and the receiver cannot dispossess himself of it." -- Thomas
Jefferson
.
- References:
- RE: [PHP] Best open source project/framework to support a php training course?
- From: "Ligaya A. Turmelle"
- RE: [PHP] Best open source project/framework to support a php training course?
- Prev by Date: regular expresion problem
- Next by Date: Re: [PHP] Logical OR in assignment
- Previous by thread: RE: [PHP] Best open source project/framework to support a php training course?
- Next by thread: RE: [PHP] Best open source project/framework to support a php training course?
- Index(es):
Relevant Pages
|