Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations TouchToneTommy on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

File Organization and Aliasing

Status
Not open for further replies.

cesarcesar

Programmer
Mar 5, 2003
30
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.
 
if i call an absolute path from /path/to/ManagerEngine/index.php to /path/to/site.com/starter.php then it will only work for one site, not all.

It was suggested to rename all my starter.php to site_starter.php and put them in the "include_path" defined in the php.ini file. If this works i will post my results.
 
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".
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top