Det är index.php i mappen public_html som är "huvudsidan". Där inkluderas bl.a. filen sida.php som ligger i sidor/undersidor.
Det som nu är mkt konstigt och jobbigt är att de filer jag includar i sida.php "ärver" index.phps förhållande till rooten. Alltså: om jag i t.ex. sida.php (som är includad i index.php) vill includa filen test.php så blir inte sökvägen ".../.../tester/test.php" utan "../tester/test.php".
Jag tycker detta är riktigt jobbigt. Dels för att min editor (Zend Studio) klagar på sökvägen, och dels för att det är svårt att hålla reda på alla sökvägar när de "inte stämmer".
Ändra din include_path i php.ini till en mapp där du har dina inkluderingsfiler. Att sprida ut allt som du gör ser jag ingen som helst anledning till egentligen? Skapa en inkluderingsmapp som du lägger till din include_path, och sen skapar du (om du måste/vill separera mer på filerna) mappar i den mappen istället.
Aha, ok... Jag trodde det var att rekommendera. Att separera och sortera upp koden, lägga filer med funktioner i en mapp och klasser i en annan etc för att få en "renare" struktur.
Hur brukar ni andra göra? Tips på projektupplägg?
Spin, det du skriver kräver väl att jag har tillgång till webbhotellets php.ini-fil...?
Jag trodde det var att rekommendera. Att separera och sortera upp koden, lägga filer med funktioner i en mapp och klasser i en annan etc för att få en "renare" struktur.
Hur brukar ni andra göra? Tips på projektupplägg?
Tipsa gärna också om några bra länkar i ämnet, jag vet inte riktigt vad jag ska söka efter.
Aha, ok... Jag trodde det var att rekommendera. Att separera och sortera upp koden, lägga filer med funktioner i en mapp och klasser i en annan etc för att få en "renare" struktur.
Hur brukar ni andra göra? Tips på projektupplägg?
Spin, det du skriver kräver väl att jag har tillgång till webbhotellets php.ini-fil...?
Själv brukar jag dela upp i ungefär följande mappstruktur
OK, men då borde du ju få samma problem som jag om du ska includa en fil i t.ex. Customer.php som i sin tur är includad högre upp i hierarkin. Eller hur?? Föresten, varför lägger du bll och dll i mappen för klasser? Vart lägger du funktioner (php och js)?
Är det fler som skulle kunna dela med sig av sina strukturer? Intressant att se! :bire
/* innehåller metoder (funktioner) för användning i UI, beräkningar av olika slag..*/
class Customer {...}
och i dll är ex CustomerData.php
/* hanterar insättning/hämtning av data från någon form av datakälla (dock bara det som gäller entiteten Customer.) */
class CustomerData {...}
I / lägger jag samtliga UI-filer. Dessa består av anrop till klasserna i mappen /inc/bll, bll gör anrop till klasserna i dll. UI kommunicerar med bll, som i sin tur kommunicerar med dll och vice versa. Jag har dessutom en mapp som jag kallar för /js där alla javascript filer hamnar i givetvis.
UI-filerna (ex. index.php) inkluderar nödvändiga JS-filer, CSS-filer, bild-filer, samt inkluderar en fil som ligger i /inc som jag brukar kalla för något passande ex. bll_include.php
Då får filen /index.php alla funktionalitet som de olika klasserna i /inc/bll har (så länge metoderna är public dvs).
Så sätter jag include_path till inc
Ex.
include "bll_include.php";
if($_POST['new']) {
$customerId = 0;
$customer = new Customer();
$customer->setCustomername($_POST['customername']);
$customer->setCustomeraddress($_POST['customeraddress']);
// save and return customerid.
$customerId = $customer->save();
}
eller ex /customers/show_all_customers.php
include "bll_include.php";
$customer = new Customer();
$listCustomers = $customer->getAll();
// do something with $listCustomers;