Portál AbcLinuxu, 16. července 2025 06:33


Dotaz: Problém s define v php

31.10.2013 17:34 Marek V.
Problém s define v php
Přečteno: 359×
Odpovědět | Admin
Ahoj, mám

define('TEST', 'text');

a můžu nějak ověřit, zda existuje konstanta TEST když neznám její název(TEST) ale jen její hodnotu (text)? Děkuji za help....
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

31.10.2013 17:39 Kit
Rozbalit Rozbalit vše Re: Problém s define v php
Odpovědět | | Sbalit | Link | Blokovat | Admin
Obávám se, že to nejde a ani jsem to nikdy nepotřeboval. K čemu to má být dobré?
31.10.2013 17:40 DarkKnight | skóre: 26
Rozbalit Rozbalit vše Re: Problém s define v php
Odpovědět | | Sbalit | Link | Blokovat | Admin
to je trosku protichudne k funkci konstant, ne?

nicmene muzete pouzit get_defined_constants (iterovat cele pole a kontrolovat hodnoty)
http://php.net/manual/en/function.get-defined-constants.php nicmene predpokladam, ze to je pouze spatny navrh a slo by to vyresit uplne jinak a lepe, ceho konkretne chcete dosahnout?
31.10.2013 17:59 Marek V.
Rozbalit Rozbalit vše Re: Problém s define v php
Odpovědět | | Sbalit | Link | Blokovat | Admin
Chtěl bych provést dle zadane url adresy načtení souboru uvnitř tříd, a na konstantu se dostanu odkudkoli. Ale asi je to špatná cesta. Existuje nějaký návod, jak vyrobit webové stránky v oop? Myslím tím nějaká struktura stránek. Díky
31.10.2013 18:08 Kit
Rozbalit Rozbalit vše Re: Problém s define v php
Url najdeš v superglobální proměnné $_SERVER['REQUEST_URI'], která je dostupná všude.
31.10.2013 18:36 Marek V.
Rozbalit Rozbalit vše Re: Problém s define v php
Ano, dostupná všude, ale ne "všude" :-(
31.10.2013 18:41 Kit
Rozbalit Rozbalit vše Re: Problém s define v php
Stačí, když je dostupná v routeru, resp. továrně na objekty.
Josef Kufner avatar 31.10.2013 23:35 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Problém s define v php
Koukni se, jak vypadají nějaké mikro frameworky. Ty typicky řeší jen právě toto a pár drobnosí k tomu. A pak se také koukni například na Symfony, jak to řeší ty veliké.

V podstatě to je jen o zavedení nějakého překladu z URI na název třídy, která ten požadavek obslouží. Mnohé frameworky to řeší postupným matchováním regulárních výrazů, kde první padnoucí určí třídu. Dá se to řešit i procházením stromu, à la trie, nebo konečným automatem ne nepodobným tomu z parserů.

Tomu procesu jako celku se v tomto kontextu často říká routování.
Hello world ! Segmentation fault (core dumped)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.