🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.php
5 messages
5 total messages Started by Jivanmukta Mon, 27 Mar 2017 15:12
public_html
#231641
Author: Jivanmukta
Date: Mon, 27 Mar 2017 15:12
20 lines
1548 bytes
Potrzebuję w programie (framework Codeigniter) mieć dostęp do ścieżki do 
katalogu public_html. W tym celu w pliku config/constants.php zawarłem 
definicję zmiennej globalnej (scieżka getcwd() może się zmieniać w 
trakcie działania programu):

$publicHtmlDir = getcwd();

ale nie podoba mi się to rozwiązanie, bo nie lubię zmiennych globalnych. 
Jak to lepiej zrobić? Może powinienem napisać taką funkcję:

function getPublicHtml() {
	static $publicHtml = getcwd();
	return $publicHtml;
}

Jak to najlepiej zrobić?

---
Ta wiadomość została sprawdzona na obecność wirusów przez oprogramowanie antywirusowe Avast.
https://www.avast.com/antivirus
Re: public_html
#231642
Author: Lemat
Date: Mon, 27 Mar 2017 16:58
41 lines
1925 bytes
W dniu 27.03.2017 o 17:12, Jivanmukta pisze:
> Potrzebuję w programie (framework Codeigniter) mieć dostęp do ścieżki do
> katalogu public_html. W tym celu w pliku config/constants.php zawarłem
> definicję zmiennej globalnej (scieżka getcwd() może się zmieniać w
> trakcie działania programu):
>
> $publicHtmlDir = getcwd();
>
> ale nie podoba mi się to rozwiązanie, bo nie lubię zmiennych globalnych.
> Jak to lepiej zrobić? Może powinienem napisać taką funkcję:
>
> function getPublicHtml() {
>     static $publicHtml = getcwd();
>     return $publicHtml;
> }
>
> Jak to najlepiej zrobić?

przykład kodu OJP*:

class getPublicHtml {
private $publicHtmlDir;

function __construct() {
     $this->publicHtml = getcwd();
}
function get() {
     return $this->publicHtml;
}
}

$publicHtmlobj=new getPublicHtml();
$publicHtml=$publicHtmlobj.get();


*O Ja Pierdolę = jedna linia rozwinięta w bezużyteczne, wolne, 
zaciemniające obraz milion linii kodu.

-- 
Pozdrawiam
Lemat
Re: public_html
#231643
Author: Borys Pogoreło
Date: Mon, 27 Mar 2017 18:04
17 lines
1367 bytes
Dnia Mon, 27 Mar 2017 18:58:51 +0200, Lemat napisał(a):

> *O Ja Pierdolę = jedna linia rozwinięta w bezużyteczne, wolne, 
> zaciemniające obraz milion linii kodu.

Ale za to jest to dobry wstęp do kodu klasy Enterprise.

Rozwinąłbym to w klasę publicHtmlDirectorySingletonFactory, oczywiście z
wymienną klasą implementującą publicHtmlDirectoryPathProviderInterface
(może być przez DI). A dalej to już z górki.

Aż mi się przypomniało:
https://github.com/Herzult/SimplePHPEasyPlus

-- 
Borys Pogoreło
borys(#)leszno,edu,pl
Re: public_html
#231644
Author: Borys Pogoreło
Date: Mon, 27 Mar 2017 18:06
14 lines
1274 bytes
Dnia Mon, 27 Mar 2017 17:12:46 +0200, Jivanmukta napisał(a):

> $publicHtmlDir = getcwd();
> 
> ale nie podoba mi się to rozwiązanie, bo nie lubię zmiennych globalnych. 
> Jak to lepiej zrobić? Może powinienem napisać taką funkcję:

Skoro getcwd() może zwracać różne wartości, to ta funkcja niczego nie
rozwiąże. Zamiast tego w trakcie inicjalizacji aplikacji zapisuj gdzieś w
konfiguracji/rejestrze tę wartość albo ustawiaj stałą.

-- 
Borys Pogoreło
borys(#)leszno,edu,pl
Re: public_html
#231645
Author: Rafal Podsiadly
Date: Tue, 28 Mar 2017 04:39
2 lines
1414 bytes
Jestem za konfiguracja.
Nie zapominaz ze kazdy plik php jest wykonywalny. Nawet te config.php
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads