Activity Stream
48,167 MEMBERS
62601 ONLINE
besthostingforums On YouTube Subscribe to our Newsletter besthostingforums On Twitter besthostingforums On Facebook besthostingforums On facebook groups

Results 1 to 2 of 2
  1.     
    #1
    Member
    Website's:
    litewarez.net litewarez.com triniwarez.com

    Default Tutorial [Creating a PHP Framework] {advanced} (PART 1)

    Heya everyone,

    I thought i would do a tutorial on creating a php framwork so you can build web applications with ease!

    What is a php framework
    The best way i can describe in laymen terms is a framework is the foundations/scaffolding of your application, the framework consists of things like database abstraction layers, input and output controlling, security etc..

    when the framework is built you will be able to use the code to do stuff in your application like fetch database data, get inputted data and many many moer.

    ok lets get started..

    The first page were going create is index.php, the index is what we call a view page.. the reason we call it a view page is its one of the apges that a user will be able to goto to view the data.

    in the PHP file were going to have to create a few lines of code!

    1. Define a constant (used for security and relative paths)
    2. include the mian startup file! (this file loads all companents of the framework)


    Heres the code

    PHP Code: 
    <?php

    //heres the define
    define('BASE_PATH',str_replace("\\","/",dirname(__FILE__)));

    /*
    *   What the define does is crate a type of variable that can be used ANYWHERE within the script
    *   Where also replacing \ with / withing the path were in! this makes it easy for for the script to work on windows or linux
    ******
    *    Exmaples of what BASE_PATH contains
    *    Windows: c:/xampp/htdocs
    *    Linux: /home/web/htdocs
    */

    include BASE_PATH '/system/startup.php';

    /*
    *  Include the main file
    */
    ?>

    Ok so whats in index.php is the basic NEEDED lines to add new files, so for instance if we was to create another file call downloads.php we would add them lines in that file to load all the core framework components.

    So now we need to make a folder next to index.php called system!, this is where all our framework files will be included!

    ok so now we have the folder called system were going to create the startup.php and save it in that folder!

    About the startup.php
    • Will check to make sure that index.php is the file thats called it
    • Will check server settings for compatibilty
    • Will include all mojor framwork classes
    • Assign all framwork objects to a registry
    • perform basic stuff before you start using it to create a website


    The startup.php file

    PHP Code: 
    <?php

    if(!defined('BASE_PATH')){exit;}
    /*
    * This will check to see BASE_PATH is defined... if its not it will niot run anything from here! if you remember we have defined BASE_PATH within index.php so this is ok as long as its index.php thats called it!
    * This will make sure that a hacker cant directly inject the file with bad code!
    */

    //Set error reporting
    error_reporting(E_ALL);
    //This is we can track any little errors php causes during execution

    // Check Version
    if(version_compare(phpversion(), '5.1.0''<') == TRUE){exit('PHP5.1+ Required');}
    //As were using classes, objects,statics etc it would be best to make sure were in PHP 5.1 or greater

    //Define SYSTEM_BASE_PATH
    define('SYSTEM_BASE_PATH',str_replace('\\','/',dirname(__FILE__)));
    //This is the same as index.php but defines THIS folder aka system

    /*
    ** here we will include the Registry file
    */

    /*
    ** here we will include all framework files
    */

    /*
    ** here we will load all classes into the registry
    */

    /*
    ** here we will perform basic startup stuff like config etc
    */
    ?>
    As you can read from above ive left some comments as i dont want to fill everything in when im not sure what im going to code yet!

    but we are going to create a registry object!

    What is a registry object
    Ok so back to laymen terms now, A registry object is like a box and this box stores all our code.. now in php theres a thing called Scope! this is is pretty annoying but its how the structure works, so were going to make this box special! were going to make it available everywhere in the application.. this way we dont have to grab each different class object! we gram the 1 big one and we instantly have access to every component in the framework

    ok so within the system folder were going to create a new folder called 'engine'... this folder will store all the MAIN topend code thats used to glue everything together as such!

    ok so we should have a folder in system called engine.. withing that folder were going to create a new php file called registry.php

    it should look like this

    ** /system/engine/registry.php

    And heres the code the that file!
    PHP Code: 
    <?php
    //All files included by any file thats used with index should have the belop line
    if(!defined('BASE_PATH')){exit;}

    final class 
    Registry {
        static private 
    $data = array();

        static public function 
    get($key){
            return (isset(
    self::$data[$key]) ? self::$data[$key] : NULL);
        }

        static public function 
    set($key$value){
            
    self::$data[$key] = $value;
        }

        static public function 
    has($key){
            return isset(
    self::$data[$key]);
          }
    }
    ?>
    Now this code may be a little advanced for you at the moment but basically notice the keywords such as static and self:: ... these allow me to use these functions without creating an instance of the object..

    Do some research if your not sure!

    ok now in the startup.php file i want you to include the registry file so replace

    PHP Code: 
    /*
    ** here we will include the Registry file
    */ 
    with

    PHP Code: 
    include SYSTEM_BASE_PATH '/engine/registry.php'

    ok so this is the end of part one!

    PLEASE DO NOT START THIS CODE UNTILL I HAVE FINISHED ALL SECTIONS

    in part 2 were going to cover the following if possible

    • Creating the first componant (Input)
    • Adding the companant to the registry
    • possibly add in Request componant!


    Part 2: http://www.besthostingforums.com/showthread.php?t=24411
    litewarez Reviewed by litewarez on . Tutorial [Creating a PHP Framework] {advanced} (PART 1) Heya everyone, I thought i would do a tutorial on creating a php framwork so you can build web applications with ease! What is a php framework The best way i can describe in laymen terms is a framework is the foundations/scaffolding of your application, the framework consists of things like database abstraction layers, input and output controlling, security etc.. when the framework is built you will be able to use the code to do stuff in your application like fetch database data, get Rating: 5
    Join Litewarez.net today and become apart of the community.
    Unique | Clean | Advanced (All with you in mind)
    Downloads | Webmasters


    Notifications,Forum,Chat,Community all at Litewarez Webmasters


  2.   Sponsored Links

  3.     
    #2
    Member
    i saw this the other day but seemed too big to read, now i read it, seems cool
    when are the other sections coming?

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Replies: 5
    Last Post: 19th Feb 2010, 06:38 PM
  2. Tutorial [Creating a PHP Framework] {advanced} (PART 5) - Sessions
    By litewarez in forum Tutorials and Guides
    Replies: 1
    Last Post: 12th Feb 2010, 03:06 PM
  3. Tutorial [Creating a PHP Framework] {advanced} (PART 4)
    By litewarez in forum Tutorials and Guides
    Replies: 1
    Last Post: 9th Feb 2010, 04:24 AM
  4. Tutorial [Creating a PHP Framework] {advanced} (PART 3)
    By litewarez in forum Tutorials and Guides
    Replies: 1
    Last Post: 4th Feb 2010, 02:12 AM
  5. Tutorial [Creating a PHP Framework] {advanced} (PART 2)
    By litewarez in forum Tutorials and Guides
    Replies: 2
    Last Post: 3rd Feb 2010, 05:37 AM

Tags for this Thread

BE SOCIAL