Laravel Symfony CodeIgniter
Laravel is the new CodeIgniter, a coding framework on top of PHP for simplified/standardised syntax. Complex PHP applications can become un-supportable without a coding framework like those in place.
To install and demo Laravel on WAMP:
(1) follow the steps in http://www.darwinbiler.com/how-to-install-laravel-on-wamp-for-beginners/ (note, uses a different WAMP php.ini file from normal).
(2) File c:\wamp\www\laraveltest\public\.htaccess then needs
RewriteBase /laraveltest/public/
added under the RewriteEngine line, as at http://stackoverflow.com/a/18412482
(3) Using WAMP click on wamp icon > apache > apache modules > scroll and check ‘rewrite_module Restart a LoadModule’ http://stackoverflow.com/a/14490649
(4) Then edit c:\wamp\www\laraveltest\app\routes.php and browse to http://localhost/laraveltest/public/user to see effects.
(5) For database connectivity, edit c:\wamp\www\laraveltest\app\config\database.php to specify database name.
(6) To demo database connectivity, again edit c:\wamp\www\laraveltest\app\routes.php to add code like
Route::pattern('id', '[0-9]+'); Route::get('/user/{id}', function($id) { // Only called if {id} is numeric. $user = DB::table('users')->where('id', $id)->first(); var_dump($user); echo ''; });
And browse to http://localhost/laraveltest/public/user/1 to see working.
A table called ‘users’ was used for this demo, with an ‘id’ numeric field plus some text fields
CREATE TABLE IF NOT EXISTS `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(250) NOT NULL, `email` varchar(400) NOT NULL, `description` text NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ; INSERT INTO `users` (`id`, `name`, `email`, `description`) VALUES (1, 'John Smith', 'john@email.com', 'John''s description field...'), (2, 'Jane Doe', 'jane@email.com', 'Jane''s description field');
More database code at http://laravel.com/docs/queries#selects, and forms code at http://laravel.com/docs/html.
For debugging, look in file c:\wamp\www\laraveltest\app\storage\logs\laravel.log
Currently Laravel supports four database systems: MySQL, Postgres, SQLite, and Microsoft SQL Server, but does not support Oracle http://laravel.com/docs/database. However the Laravel-OracleDB driver package is avilable as an add on https://github.com/jfelder/Laravel-OracleDB.
An alternative to Laravel is Symfony.
Installation of Symfony requires composer – but that should already have been installed along with Laravel above, which means would now just need:
mkdir c:\wamp\www\symfony cd c:\wamp\www\symfony composer create-project symfony/framework-standard-edition myproject/ ~2.4 php app/console server:run
[Source: http://symfony.com/doc/current/quick_tour/the_big_picture.html]
Once installed, browse to http://localhost:8000/ and also http://localhost:8000/demo/hello/YourNameHere.
Leave a Reply