Autor | Zpráva | ||
---|---|---|---|
samotar Profil |
#1 · Zasláno: 23. 3. 2007, 17:08:45
Cus all,
v moudrých knihách sem sa dočetl, že je občas zbytečné vypisovat furt stejný kód (např připojování k databázi) ale udělat si funkci, tu dat do odděleného souboru a pak si funkci pomocí include('soubor_s_funkci') načíst a jejím zavoláním použít. Je to podle Vás dobrý přístup např u rozsáhlejšího webu? thx |
||
Casero Profil |
#2 · Zasláno: 23. 3. 2007, 17:16:48
samotar
Ano, především u rozsáhlejších webů. |
||
Alphard Profil |
#3 · Zasláno: 23. 3. 2007, 17:18:31
třeba přihlašovací údaje k dazabázi se kvůli editaci nechávají v externích souborech AFAIK téměř vždy
|
||
Joker Profil |
#4 · Zasláno: 23. 3. 2007, 17:20:32
Jednoznačně.
Pokud má člověk více projektů, vyplatí se podle mě si do těch souborů dát raději objekty. Je to pak jednodušší. Namísto psaní pořád dokola něčeho jako: $server = "neco.cz"; $jmeno = "jmeno"; $heslo = "heslo"; $db = "databaze"; $pripojeni = mysql_connect($server, $jmeno, $heslo); if(!$pripojeni) die("Chyba komunikace s db!"); mysql_select_db($db); $sql = "SELECT * FROM tabulka"; if(!$vysledek = mysql_query($sql)) die("Chyba komunikace s db!"); while(mysql_fetch_array($vysledek){ ... stačí udělat třeba: include("nastaveni.php"); include("class.database.php"); $database = new Database($server, $jmeno, $heslo, $db); $sql = "SELECT * FROM tabulka"; $database->query($sql); while($database->fetch_array()){ ... |
||
Petr Tichý Profil |
#5 · Zasláno: 23. 3. 2007, 17:20:57
Já hlavičku a patičku webu neřeším jinak než přes include "header.php"; ...
|
||
samotar Profil |
#6 · Zasláno: 23. 3. 2007, 17:58:27
jinak např když mám v souboru funkce.php který includuju
function spojeni() { global $spojeni; $spojeni = mysql_connect("server", "jmeno", "heslo"); if (!$spojeni) die ('Nepodařilo se připojit k databázovemu serveru'); } musím tam dat global $spojeni; jinak sa mi nepodaří vybrat databázi na stránce která includuje soubor s funkcemi. function vyb_db($databaze, $spojeni) { global $vyb_db; $vyb_db = mysql_select_db($databaze, $spojeni); if (!$vyb_db) die ('Nepodařilo se vybrat databázi'); } problém sem si vlastně vyřešil sám pomocí funkce global zajímá mňa enom esi to neni nejaká php nechutnost vyřešit to takto... |
||
Yrrah Profil |
#7 · Zasláno: 23. 3. 2007, 18:04:04
samotar
Buď ta funkce může vracet proměnnou $spojeni. Anebo to udělej objektově. Když si uděláš (nebo použiješ už hotový balík) objektově celou část pracující s databází, budeš to mít tak mnohem jednodušší. Představ si, kdybys pak chtěl někdy přejít na jiný databázový stroj. |
||
Joker Profil |
#8 · Zasláno: 23. 3. 2007, 18:14:19 · Upravil/a: Joker
musím tam dat global $spojeni; jinak sa mi nepodaří vybrat databázi na stránce která includuje soubor s funkcemi.
Právě proto používám ty objekty, protože ty mají i svoje vlastní proměnné. Pak si nemusím zavádět proměnné jako $spojeni, $vysledek a podobně, všechno se drží uvnitř databázového objektu. |
||
samotar Profil |
#9 · Zasláno: 23. 3. 2007, 18:32:27
mno takze bych sa asi měl pustit do studia "objektového programování" v php pokud sem sa dobře vyjádřil, jednak z důvodu větší využitelnosti, jednak protože vývoj nelze zastavit nemýlím-li se ?:)
|
||
ronnie Profil |
#10 · Zasláno: 23. 3. 2007, 18:45:08
Když už se bavíme o přihlašovacích údajích pro databázi, bylo by vhodnější je uložit do nějakého konfiguračního souboru, ideálně do ini souborů a pak je v nějaké funkci načíst (když se nebude bavit o objektech).
|
||
Alphard Profil |
#11 · Zasláno: 23. 3. 2007, 18:47:58
nemýlím-li se ?:)
možná jo, bez snahy vyvolat flame si troufám tvrdit, že objektová cesta není v PHP jediná správná |
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0