Spouštět kód PHP v souborech JavaScript. Jak používat proměnné PHP v JavaScriptu

Ve většině webových aplikací statické soubory JavaScriptu vývojáři 100% vyhovují. Někdy je však nejlepším řešením připojit PHP a generovat obsah JS souboru za chodu (například získat aktuální ceny produktů z databáze a předat je JavaScript programu pro ověření objednávkového formuláře). Jak to udělat?

Metoda jedna: Jednoduchá Nejjednodušším řešením je samozřejmě zahrnout kód PHP do části vaší šablony HTML, protože je pravděpodobné, že bude mít příponu .php.

var jsVar = "";
I když je přípona šablony .htm nebo .html, pak je webový server ve většině případů nakonfigurován tak, aby porozuměl zahrnutí kódu PHP (pokud ne, pak na konci poznámky je jednoduchý příklad, jak tento problém vyřešit ). Ale pokud jde o krásu, tato možnost není nejelegantnější. Bylo by dobré chovat mušky a řízky odděleně.

Metoda druhá: krásná Druhým řešením je nakonfigurovat webový server tak, aby analyzoval soubory JavaScript pro provádění kódu PHP. Stačí vytvořit soubor .htaccess v požadované složce nebo otevřít existující a přidat do něj následující řádky:

AddType application/x-httpd-php .js AddHandler x-httpd-php5 .js

Pro a proti: co nám to dává? Pro
  • Kód PHP můžete zahrnout do souborů s příponou .js a bude automaticky spuštěn, když klient přistoupí k souboru JavaScript.
  • Takové „hybridní“ skripty můžete uchovávat v samostatné složce – stačí do této složky umístit výše popsaný soubor .htaccess.
  • Pokud chcete mít všechny soubory JavaScriptu na jednom místě (statické i hybridní), můžete si zaregistrovat obslužný program souborů s libovolnou příponou, například .js2 – stačí mírně upravit text.htaccess.
  • Můžete oddělit statické HTML stránky, šablony a soubory JavaScript.
Contra
  • Teoreticky to způsobí minimální dodatečné zatížení serveru, ale vzhledem k rozdílům s jednotlivými složkami nebo příponami souborů se zdá, že přínos převáží.
Přidání Aby mohl webový server analyzovat soubory .htm a .html a spustit v nich obsažený kód PHP, musíte do .htaccess přidat následující řádky:

AddType application/x-httpd-php .htm .html AddHandler x-httpd-php5 .htm .html SetHandler application/x-httpd-php
Připomínky, doplnění a výměna zkušeností jsou vítány.

ZÁVĚRY Je docela zvláštní, že malá poznámka, která ve skutečnosti nabízí jen úryvek pro rychlou implementaci konkrétního praktického úkolu, vyvolala tak vzrušenou diskusi, z velké části podobnou pokusům předvést teorii. Slavná habra komunita v tomto případě nezištně lynčovala ty myšlenky, kterých se v poznámce v zásadě nedotklo. I když musíme vzdát hold - stále existuje několik zdravých myšlenek. A kromě toho neexistuje „žádný jiný luxus než luxus lidské komunikace“ (podle Exuperyho)))).

Při vývoji modulu se někdy uchýlíte k rozvržení (HTML a CSS) a dalším skriptům.

To vše lze propojit samostatně – některé v těle stránky, některé v samostatných souborech. Některé doplňky je ale lepší vložit přímo do samotného souboru PHP.

Dnes ukážu dvě možnosti, jak můžete do PHP kódu vložit HTML, CSS nebo JavaScript.

První možnost vkládání prvků do kódu PHP

Myslím, že pokud jste alespoň trochu obeznámeni s PHP, víte, co je to „echo“ (značka, pomocí které můžete zobrazit zprávu na obrazovce).

Pomocí něj můžete zobrazit jeden z dříve uvedených kódů. Příklad:

Na co si zde dát pozor? Citáty. Pokud použijete vnější uvozovky ve tvaru " ", pak vnitřní uvozovky prvků musí být " " a naopak, jinak se zobrazí chyba. Pokud chcete zásadně používat stejné vnější a vnitřní uvozovky, vložte do vnitřních uvozovek znak escape:

V tomto případě bude vše fungovat správně.

Druhá možnost vkládání prvků do PHP kódu

Tato možnost se mi líbí mnohem více než ta první. Zde také použijeme „echo“, jako v předchozí verzi, ale přidáme další prvek „HTML“:

Zde můžete vložit jakýkoli prvek, ať už je to HTML kód nebo JavaScript. Uvozovky zde nehrají roli (můžete vložit libovolné), a pokud chcete, můžete implementovat proměnné pro výstup:

Velmi pohodlný způsob, jak realizovat své nápady.

Toto je poměrně častá otázka, která se objevuje na fórech. V zásadě na to může přijít každý sám. Ale pokud máte nějaký dotaz, pokusíme se ho zde vyřešit.

Existuje tedy prohlížeč. Jedná se o program, který umí krásně zobrazit soubor HTML na obrazovce. Tento soubor může prohlížeč získat pouze ze 2 míst: z internetu az místního počítače (nebo sítě).

Pokud prohlížeč bere soubory z disku místního počítače, může tento soubor upravit kdokoli. Můžete například vytvořit program v jazyce C nebo Pascal, který 1000krát zapíše slovo „ahoj“ do souboru html. A pak prohlížeč vezme soubor a zobrazí jej na obrazovce uživatele. Všimněte si, že prohlížeč vůbec nezajímá, odkud soubor pochází. To se ho netýká, dostává finální html soubor.

Objeví-li se soubor z internetu, prohlížeč často o souboru neví vůbec nic: ani datum, ani velikost (dokud se úplně nestáhne), ani skutečné jméno. Pokud je tento soubor na serveru výsledkem práce nějakého programu, pak tato okolnost prohlížeč nijak neovlivní (opět mu to bude jedno). Na této vlastnosti jsou založeny skriptovací jazyky. Pokud umístíte soubor php do webového adresáře na serveru, prohlížeč neobdrží samotný soubor, ale pouze výsledek PHP, které soubor php spustilo.
Co je JavaScript (JS)? Toto je stejný html. Jinými slovy, toto je určitá sada dalších značek a nic víc. Pokud v některém běžícím PHP programu nahradíte echo "Zadejte přihlášení" echo "document.write("Zadejte přihlášení");"; , pak tato operace nijak neovlivní program PHP. Na začátku uložíte echo do souboru. Když uživatel přistoupí na stránku, PHP tento příkaz provede a vrátí výsledek do prohlížeče. Tito. čára, která byla v echu. Pokud byl v řádku kód JS, ukázalo se, že jej prohlížeč obdrží. Co je tedy JS? Toto, jak jsme zjistili, je určitá sada textů doplňujících čistý html kód, který je odeslán v html souboru do prohlížeče a tam spuštěn. To je to, co nikdo nechce pochopit - PHP běží na serveru a JS běží pouze v prohlížeči. Co je v našem prohlížeči? HTML kód. A prohlížeči je jedno, odkud to přišlo. Prohlížeč vezme soubor html a zobrazí jej na obrazovce, přičemž během cesty spustí značky a také kód JS.

Co potřebujete k převodu proměnné z PHP do JS? V první řadě si uvědomte, že se nejprve spustí PHP, které vytvoří HTML stránku (a může po cestě vytvořit i JS kód). Představte si, že máme tento soubor:

a nyní PHP vypočítá tento vzorec a poté vloží výsledek na správné místo na html stránce. A to, že výsledkem je deklarace proměnné programu JS, je prostě pozitivní vedlejší efekt. PHP nezajímá, co program dělá nebo proč vypočítal součet 2 a 3.


»

Při vývoji modulu se někdy uchýlíte k rozvržení (HTML a CSS) a dalším skriptům.

To vše lze propojit samostatně – některé v těle stránky, některé v samostatných souborech. Některé doplňky je ale lepší vložit přímo do samotného souboru PHP.

Dnes ukážu dvě možnosti, jak můžete do PHP kódu vložit HTML, CSS nebo JavaScript.

První možnost vkládání prvků do kódu PHP

Myslím, že pokud jste alespoň trochu obeznámeni s PHP, víte, co je to „echo“ (značka, pomocí které můžete zobrazit zprávu na obrazovce).

Pomocí něj můžete zobrazit jeden z dříve uvedených kódů. Příklad:

Na co si zde dát pozor? Citáty. Pokud použijete vnější uvozovky ve tvaru " ", pak vnitřní uvozovky prvků musí být " " a naopak, jinak se zobrazí chyba. Pokud chcete zásadně používat stejné vnější a vnitřní uvozovky, vložte do vnitřních uvozovek znak escape:

V tomto případě bude vše fungovat správně.

Druhá možnost vkládání prvků do PHP kódu

Tato možnost se mi líbí mnohem více než ta první. Zde také použijeme „echo“, jako v předchozí verzi, ale přidáme další prvek „HTML“:

Zde můžete vložit jakýkoli prvek, ať už je to HTML kód nebo JavaScript. Uvozovky zde nehrají roli (můžete vložit libovolné), a pokud chcete, můžete implementovat proměnné pro výstup:

Velmi pohodlný způsob, jak realizovat své nápady.




Nahoru