Konfigurační soubor – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Konfigurační soubor – PHP – Fórum – Programujte.comKonfigurační soubor – PHP – Fórum – Programujte.com

 

Pixtr0
Newbie
18. 2. 2013   #1
-
0
-

Zdravím zkušené programátory,

rád bych se Vás zeptal na radu ohledně konfiguračních souborů rozsáhlejšího projektu. Chtěl bych mít možnost u projektu měnit různá nastavení od přihlašovacích údajů do database přes změnu designu pomocí css souborů až po seznam stránek a includovaných souborů. V podstatě si chci do budoucna usnadnit práci ohledně možných úprav. Rozhoduji se mezi XML a PHP jako konfigurační soubor. XML je rozhodně přehlednější ale zase se bojím rychlosti, protože mě nenapadá nic jiného než při každém generování stránky vytahovat z nastavení potřebné hodnoty.  PHP by v tomto ohledu bylo jednodušší ale zase bych se asi rychle ztratil v úrovních pole. Je mi jasné že to píšu velice složitě, proto radši zkusím příklad:

 PHP

<?php
	$pole = array(	'database' => array(	'server' => 'localhost',
										'login' => 'admin',
										'heslo' => 'heslo0001',
										'dbase' => 'database01'),
					'design' => array(	'aktual' => '2',
										'1' => array('cesta/soubor1.css','cesta/soubor2.css'),
										'2' => array('cesta/soubor12.css','cesta/soubor22.css')),
					'soubory' => array( 'funkce' => 'cesta/funkce.php',
										'login_page' => 'cesta/login_pge.html'))


?>

XML

<?xml version="1.0" encoding="UTF-8"?>
<nastaveni>
	<database>
		<server>localhost</server>
		<login>admin</login>
		<heslo>heslo0001</heslo>
		<dbase>database01</dbase>
	</database>

	<design aktual="2">
		<styl id="1">
			<link>cesta/soubor1.css</link>
			<link>cesta/soubor2.css</link>
		</styl>
		<styl id="2">
			<link>cesta/soubor12.css</link>
			<link>cesta/soubor22.css</link>
		</styl>
	</design>

	<soubory>
		<soubor>
			<jmeno>funkce</jmeno>
			<cesta>cesta/funkce.php</cesta>
		</soubor>
		<soubor>
			<jmeno>login_page</jmeno>
			<cesta>cesta/login_page.html</cesta>
		</soubor>
	</soubory>

</nastaveni>

A na začátku každé stránky pak něco jako:

<?php
	require_once($pole['soubory']['funkce']);
	
	$i = $pole['design']['aktual'];
	foreach($pole['design'][$i] as $cesta){
		$vystup .= '<link rel="stylesheet" href="'.$cesta.'" />';
	}

	$mysqli = new mysqli($pole['database']['server'], $pole['database']['login'], $pole['database']['heslo'], $pole['database']['dbase']);

?>

Co myslíte? Co používáte vy pro nastavení projektu?

Nahlásit jako SPAM
IP: 88.102.10.–
peter
~ Anonymní uživatel
4014 příspěvků
19. 2. 2013   #2
-
0
-

Ja pouzivam php. Xml by mi nevadilo. Ani sql.

Dobry program stranku vygeneruje pro uzivatele jen jednou pro select a zmeni jen pri update nebo insert (zmene). To znamena, ze ho zadne php nebrzdi :) Vetsina programatoru ale dela stranky, jako ty, ze je pokazde generuje.

Nahlásit jako SPAM
IP: 2001:718:2601:400:0:5efe:...–
Pixtr0
Newbie
19. 2. 2013   #3
-
0
-

#2 peter
No a jak by v tomto případě měl vypadat dobrý program, který to generuje jen jednou? Docela rád bych to dělal bez ty generace aby se server tolik nenamáhal, jenže mě nenapadá jak to udělat aby bylo možné případně něco upravit.

Nahlásit jako SPAM
IP: 88.102.10.–
peter
~ Anonymní uživatel
4014 příspěvků
19. 2. 2013   #4
-
0
-

To zalezi pripad od pripadu. Co si predstavujes pod tim Upravit? Je mozne to resit javascriptem, iframy, nebo pro kazdy typ vygenerovat spesl stranku. A nebo zustat u dynamickeho generovani. Treba mas nastavene kesovani na serveru a treba ti prave kesovani vadi.

Predpokladej bezny redakcni system. Stranku edituje clovek = 1, stranku zobrazuje clovek = 10.000. Pro kazdeho z tech 10.000 nema vyznam stranku generovat, kdyz ji muze ulozit do adresare program pri kazde editaci. Usetri se tim spousta sql dotazu.

A ted prides s tim, co mas delat s anketou, komentarem a pod? To je neco navic. To muzes klidne dotahnout pres iframe nebo javascript uz do hotove stranky. V nejhorsim treba pres php include. Neco podobne jsou testy.

Tezko rici. Neznam tvuj problem, proc se rozhodl, jak ses rozhodl a nechces ho rici.

Nahlásit jako SPAM
IP: 2001:718:2601:400:0:5efe:...–
Pixtr0
Newbie
19. 2. 2013   #5
-
0
-

No takhle, chápu co myslíš a uplně s tebou souhlasím, že je určitě lepší mít stránku předem vygenerovanou a jen jí zobrazovat. V mém případě to ale bohužel nepůjde. Prakticky dělám dva projekty, které budou používat stejné administrační prostředí a potřeboval bych vybrat nejrychlejší možnost načítání konfigurace. Jeden projekt bude eshop a druhý něco na principu sociální sítě, kde bude každý uživatel vidět něco jiného, což nejde vyřešit předem vygenerovanou stránkou.

Napadlo mě využít XML v administraci, kde budou zapsané všechny možnosti a po uložení se vygeneruje php soubor se serializovaným polem, které poté načtu do záhlaví stránky.

Nahlásit jako SPAM
IP: 88.102.10.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 6 hostů

Podobná vlákna

SOUBOR.BAT&gt;SOUBOR.EXE — založil wokena

Soubor — založil RePRO

Soubor — založil cpp

Jar soubor — založil Nicolas

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý