PHP: Speciální operátory aneb podmínky na jednom řádku

PHP disponuje speciálními operátory pro provedení podmínky a přiřazení hodnoty v jediném kroku.

Jedná se o tzv. ternární operátor a operátor nulové koalescence.

Lze jimi za nahradit běžný zápis podmínky typu if-then-else.
Výhodou je, při správném použití, kratší a přehlednější zápis podmínky.

Pokračování textu PHP: Speciální operátory aneb podmínky na jednom řádku

PHP: string = null VS ?string

Definujeme-li funkci či metodu, která obsahuje vstupní parametr, a ten může být prázdný, máme dvě možnosti:

public function setName(string $name = null)
{
    $this->name = $name;
}

a nově od verze PHP 7.1:

public function setName(?string $name)
{
    $this->name = $name;
}

Obě syntaxe jsou téměř totožné. Jaký je mezi nimi tedy rozdíl?

Pokračování textu PHP: string = null VS ?string

PhpStorm: Chybějící závislost v souboru composer.json

Editor PhpStorm nyní nově zobrazuje upozornění při použití funkce PHP, která vyžaduje přítomnost určitého PHP rozšíření.

Například při volání funkce curl_init():

ext-curl is missing in composer.json

Pokračování textu PhpStorm: Chybějící závislost v souboru composer.json

Jak pojmenovat jednotlivé části souboru

Při vývoji programu je vhodné se při práci se soubory držet zavedeného pojmenování jednotlivých částí k umístění souboru.

Předejdeme se tak častému problému, kdy máme jednotlivé části cesty k souboru pojmenovány různě a sami pak ztrácíme přehled, jakou informaci o souboru daná proměnná vlastně obsahuje.

V praxi se mi osvědčilo následující pojmenování proměnných.

Pokračování textu Jak pojmenovat jednotlivé části souboru

Eloquent ORM: Vytvoření záznamu souvisejícího modelu – metody save() a create()

Příklad: Přidání komentáře (comment) ke článku (post)

Rozdíl mezi metodami save() a create()

Metoda save() očekává jako vstupní parametr objekt modelu Eloquentu.
Metoda create() očekává jako vstupní parametr pole. Metoda sama vytvoří z dat v poli objekt modelu Eloquentu a poté jej uloží.

Pokračování textu Eloquent ORM: Vytvoření záznamu souvisejícího modelu – metody save() a create()

Eloquent ORM: Třída modelu

Model v tomto případě představuje vrstvu aplikace která komunikuje s databází za účelem získávání a ukládání data.

Knihovna Eloquent ORM je k dispozici jako součást velmi oblíbeného PHP frameworku Laravel. Lze ji také použít i samostatně, případně v rámci frameworku vlastního.

Eloquent ORM používá implementaci Active Record. Jedná se o způsob přístupu k datům v databázi způsobem, kdy každá třída modelu představuje jednu tabulku v databázi a každá instance této třídy představuje jeden záznam (řádek) z tabulky v databázi.

Pokračování textu Eloquent ORM: Třída modelu