Php-ben al-szkriptek
2011-07-02T15:23:23+02:00
2011-07-03T09:46:54+02:00
2022-07-19T05:22:24+02:00
  • cakephp.hu, 70%-ban lefordított kézikönyv...
    Mutasd a teljes hozzászólást!
  • Köszi a tippeket, látom, még sokat kell tanuljak, nagyon sokat.
    Mutasd a teljes hozzászólást!
  • Szerintem lassan ideje lenne valamilyen framework-el barátságot kötni. Én javaslom a Cakephp-t, könnyen tanulható, sok doksi, az egész tisztább, szárazabb érzés.

    Csak egy ötlet, nem téríteni akarok
    Mutasd a teljes hozzászólást!
  • a $pages tömböd lehet akár explode("/",$_SERVER['REQUEST_URI']) is, ha minden kérést az index.php-ra irányítasz át. Ekkor pl. az oldalad.hu/valami linkre beállíthatod a valami.php-t vagy akármimást a Tomx által leírt módon

    ugyanígy strtok()-kal is lehet, ha gondot okoz, hogy nem létező elérési utakat próbálgatnak a júzerek :)
    Mutasd a teljes hozzászólást!
  • Köszi szépen mindenkinek, most már megnyugodtam. Mert azt hittem, hogy mindenképpen egy fájlba kell mindent belezsúfoljak, mindenféle kesze-kusza hivatkozással. .
    Mutasd a teljes hozzászólást!
  • Nem baj, sőt, átláthatóbbá teszi a kódot, mivel a többi felesleget nem látod.
    Mutasd a teljes hozzászólást!
  • Amit írtatok, az alapján azt látom, hogy egy nagyobb feladathoz mindenképpen szükségem van több php fájlra, amit egy központi index.php hív meg és kezel le? Tehát az nem baj, ha van mysql_config.php, hirek.php...?
    Mutasd a teljes hozzászólást!
  • Jól bevált trükk:

    $pages = array('hirek','galeria','forum'); $page = $_GET['page']; if( in_array($page, $pages) ) { include($page.".php"); }


    Csak az include-ot ne tedd az if-el egy sorba kapcsos zárójelek nélkül.
    Mutasd a teljes hozzászólást!
  • Ebben az esetben szükséged lesz egy index.php fájlra. Mindig ezt a fájlt kell meghívni, és a neki adott paraméterektől függ, hogy mit csinál. Ebben az esetben érdemes a többi fájlt védeni az olyan hívásoktól, ami az index.php- kikerüli. Vegyük az alábbi struktúrát:

    - . - [core] - valami1.php - valami2.php - valami3.php - config.php - index.php

    A config.php fájl tartalmazza a program konfigurációs beállításait (pl. MySQL kapcsolódás). A valami(x).php fájlokba érdemes beletenni egy ilyen sort:
    defined("executed") or die("Ezt a fájlt kívülről nem lehet megnyitni");

    Az index.php-be pedig ezt kell beletenned, hogy működjön:
    define("executed", TRUE);

    Az oldal működése hasonló lesz:
    <?php define("executed", TRUE); switch ($_GET["use"]) { case "valami1": require "core/valami1.php"; break; //ezt hasonlóan minden lehetőségre default: //ha nincs paraméter, ez hajtódik végre break; } ?>

    Ezután így fogod meghívni az oldalt:
    index.php?use=valami1

    Valahogy így lehet megoldani.
    Mutasd a teljes hozzászólást!
  • Az egy jó felállás ha van:

    1. index.php (központi fájl) aminek az elején beállítod a jó eséllyel mindenhol érvényes dolgokat, pl karakterkódolás, fejléc , esetleg olyan fájl ami sok helyen használt függvényeket tartalmaz (gondolom nem OOP írod).
    2. A get-ben vagy post-ban (inkább get), mindig átadod mit akarsz csinálni pl.:
    cimed.hu/index.php?modul=hirek&muvelet=olvas

    Majd ezeket az indexben lekezeled, valahogy így:


    switch($_GET['modul']) { case 'hirek': include 'hirek.php'; break; case 'galeria': include 'galeria.php'; break; default: echo 'Nincs ilyen modul'; }

    Aztán ha mondjuk a hírek volt akkor a hirek.php-n belül ugyanilyen switch-et csinálsz csak a $_GET[muvelet] értékére.
    Ott is hívhatsz külön fájlt, vagy ha rövid a kód írhatod a case - break közé is.

    Remélem érthetően írtam, és hogy erre gondoltál. A kódod nem ellenőriztem de a logika látható belőle szerintem.
    Mutasd a teljes hozzászólást!
  • Sziasztok!

    Van egy programom, ahol több php fájl végzi el a feladatokat. De azt szeretném, ha egy központi php fájlom lenne, és al-szkriptekkel szeretnék mindent elvégezni. Csak sajnos nem tudom, hogyan. Tudnátok valami leírást erről? Segítségeteket előre is köszönöm.
    Mutasd a teljes hozzászólást!
Címkék
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd