Blog: Laravel

  • Unit Testing Laravel's Core in Windows

    Mar 8, 2012

    Testing Laravel's core is a critical part of making and submitting changes to the codebase. Without testing it's incredibly difficult to know if your changes break something. It's possible that your seemingly perfect modification could cause an error in something obscure that few people would ever use. It's important to test for an increased level of confidence.

    A few preparations must be made when unit testing Laravel's core in Windows. In the video I walk through updating PEAR, PHPUnit, enabling the fileinfo PHP extension, and pulling down the framework / core tests.

    1. Clone Laravel and the tests bundle.

    Clone the Laravel framework.

    git clone https://github.com/laravel/laravel.git
    

    Clone the laravel-tests bundle into the bundles folder.

    cd laravel/bundles
    
    git clone https://github.com/laravel/tests.git laravel-tests
    

    2. Upgrade PEAR.

    Change directories to your PHP installation folder.

    cd xampp177/php
    

    Upgrade PEAR.

    pear upgrade pear
    

    Upgrade PHPUnit.

    pear upgrade phpunit/PHPUnit
    

    3. Enable the fileinfo extension in php.ini.

    Laravel's File class uses the fileinfo extension. This is generally not enabled by default in Windows packages.

    In your php.ini file find the following line.

    ;extension=php_fileinfo.dll
    

    Uncomment the extension by removing the semi-colon.

    extension=php_fileinfo.dll
    

    Then restart your apache.

    4. Run the tests against Laravel's core.

    Change directories into the folder that you cloned Laravel into.

    cd laravel
    

    Then, run the tests against the core.

    php artisan test:core
    

  • Mass-assignment Security Vulnerability Explanation

    Mar 8, 2012

    Using Laravel and Eloquent I explain Mass-assignment and how it can create an easily exploitable security-hole in your code.

    I have modified Eloquent to add mass-assignment white-list functionality and have submitted the following pull-request: https://github.com/taylorotwell/eloquent/pull/19

    Edit: this functionality has been merged into Eloquent

  • Google Closure Compiler Bundle for Laravel Released

    Feb 28, 2012

    We use the Google Closure Compiler to compress our JavaScript files in order to reduce page load times. When writing HeyBigName.com using Laravel 2.x it was implemented as a library. After having converted the code-base to Laravel 3.x we're repackaging much of our functionality into bundles.

    Laravel's bundle system allows for developers to package libraries, models, migrations, routes, collections of MVC components, or entire sites into modular components that can be installed from a call on the command-line.

    I highly encourage you to check out Laravel as 3.x is stable and production-ready. The documentation is good and the community is growing very quickly. In all honesty I see Laravel as the new baseline in which all other PHP frameworks should be judged. (not including full-stack frameworks such as Zend or Symfony)

    Check out our bundle on the Bundle Page or on GitHub.

  • Interview with Laravel Creator, Taylor Otwell

    Feb 11, 2012

    I was given the opportunity to interview Taylor Otwell about his PHP web development framework Laravel.

    We love Laravel (this site was built with it) and we think that you will love it, too.

    You can learn more about Laravel at http://laravel.com. There you can find the Laravel forums which are great for checking out information about new releases and asking questions. You can also join the #Laravel IRC channel on irc.freenode.net is full of smart people who can help to answer any questions that you have.