File Organization and Aliasing

Discussion in 'PHP' started by cesarcesar, May 10, 2006.

  1. #1
    Hello all. I have been working on a Website/CMS (Engine) for a few years now. With every site i build, i just copy the current version of the Engine, make some minor changes and skin it to fit the perticular site i am building. This has worked well for a while. My problem is when i have to make an update. If i update or add an important feature to one site, usually i will need to add it to others that have the same Engine. So basically i have to waste a bunch of time updateing multiple site.

    I have since learned about aliasing. So i have now seperated all my Engine into three sperate parts. (1) Site Engine. This is all site dependent files for a basic site. (2) Cart Engine. These are all files dependent on the shopping cart. (3) Manager Engine. This is the CMS for the site.

    Before the seperation all files include() a *starter.php* file that initiates things like db connections, session control, and other various site dependent controls. My problem is now that i have seperated to three main Engines, only the Site Engine works. I had not forseen that the other two engines would now not have a way to connect, or know where the starter.php file is located.

    My question is how can i now tell the file */path/to/ManagerEngine/index.php* that at line #1 calls <? include("starter.php"); ?>, that the file is at */path/to/site.com/starter.php*.

    Ok I hope you all get what im asking. Thank you.
     
    cesarcesar, May 10, 2006 IP
  2. goldensea80

    goldensea80 Well-Known Member

    Messages:
    422
    Likes Received:
    10
    Best Answers:
    0
    Trophy Points:
    128
    #2
    use absoluate path: something like <?include('/home/user/html//path/to/site.com/starter.php'?>)
    You can check the root path in phpinfo.
     
    goldensea80, May 10, 2006 IP
  3. cesarcesar

    cesarcesar Peon

    Messages:
    188
    Likes Received:
    1
    Best Answers:
    0
    Trophy Points:
    0
    #3
    My resolution was as follows, i am using a local example. This examples updates the location of the include path in the php.ini file.

    1. Add a new directory, C:\apache2triad\htdocs\includes\. (You may also use an existing *include_path*)
    2. Update *include_path* in php.ini file to also accept C:\apache2triad\htdocs\include\. The include_path will be looked in first when an *include()* is called from any file in localhost.

    It was that simple for the first part of my Question. The second can be found in a post called "Linking Structures".
     
    cesarcesar, May 15, 2006 IP