DZWON

Są tacy, którzy czytają tę wiadomość przed tobą.
Zapisz się, aby otrzymywać najnowsze artykuły.
E-mail
Imię
Nazwisko
Jak chcesz przeczytać The Bell
Bez spamu

Ta publikacja będzie interesująca dla małych firm tworzących strony internetowe z za pomocą CMS... Małe tło: jesteśmy małym działem zajmującym się tworzeniem stron internetowych. Przez bardzo długi czas tworzyliśmy strony wyłącznie na systemach zarządzania (OpenCart, WordPress, MODX i samodzielnie napisane), które w swej istocie były proste i tego samego typu, ale od zeszłego lata panuje trend na tworzenie stron, które nie były tylko wizytówką firmy w Internecie, ale jedno z narzędzi biznesowych.

Na przykład pojawiło się zamówienie dla firmy transportowej, która obsługuje trasy i chciałaby, aby cała obsługa (rezerwacja i płatność biletu, w tym przez kasjera) odbywała się za pośrednictwem strony internetowej.

Jak łatwo się domyślić, nie spodziewaj się tutaj większych korzyści z CMS. Wręcz przeciwnie, każdy algorytm, który stosowała, stanął nam na drodze. Kilka dni później, na pierwszej takiej stronie były tylko kule i prawie całe przetwarzanie odbywało się wyłącznie w javascript, a CMS był używany jako warstwa pośrednia do nagrywania i pobierania z bazy danych.

Długo nie mogliśmy tego znieść i po konsultacji zdecydowaliśmy, że do takich projektów będziemy używać miсroframework - i od razu zwróciliśmy uwagę na Slim.

Jak podaje oficjalna strona internetowa:

Slim to mikro framework, który pomaga szybko pisać proste, ale potężne aplikacje internetowe.

I tak jest, możesz pobrać go ręcznie za pomocą archiwum lub użyć Composera. Następnie utwórz plik index.php z następującą zawartością:

// Połącz framework wymaga "Slim / Slim.php"; // Zarejestruj autoloader \\ Slim \\ Slim :: registerAutoloader (); $ app \u003d new \\ Slim \\ Slim (); $ app-\u003e get ("/ hello /: name", function ($ name) (echo "Hello $ name";)); $ app-\u003e run ();
Jest to prosta aplikacja, która wyświetla cześć ((nazwa użytkownika)) podczas przechodzenia do adresu URL.
Ale jak bardzo byliśmy rozczarowani, że w tym miejscu kończy się większość artykułów w Internecie i na tym etapie wiele pozostaje dla nas niezrozumiałych.

Sam Slim nie określa jasnego systemu dystrybucji plików na dysku, więc nie znaleźliśmy lepszego sposobu niż obserwowanie każdego routingu. Następnego dnia, zdając sobie sprawę, że coś idzie nie tak, postanowiono stworzyć oddzielny folder i umieszczaj tam pliki w grupach. Do pliku index.php dodano następujące elementy

Foreach (glob ("Trasy / *. Php") jako $ plik) include ($ plik);
Z czasem każdy taki plik stawał się zbyt duży, ale po przejrzeniu oficjalnej dokumentacji nic nie znaleziono. Rozwiązanie zostało znalezione na githubie, gdzie powiedziano, co należy zrobić:

$ app-\u003e get ("post /: type /: id", "\\ Controller \\ Post: onePost");
Gdzie \\ Controller \\ Post to klasa, którą rozumiem, jest dodawana zgodnie z RSP-0. OnePost to jego metoda.
W ten sposób nasza struktura plików została zaktualizowana o kolejny katalog kontrolera, w którym zapisaliśmy akcje, które mogą być użyte w kilku opcjach routingu jednocześnie. Myślę dobry przykład to routing, który jest zamknięty w grupie, styl, który z jakiegoś powodu nie jest opisany w tej samej dokumentacji.

$ app-\u003e group ("/", function () use ($ app) ($ app-\u003e get ("post /: type /: id", "\\ Controller \\ Post: onePost") -\u003e conditions (array ( "type" \u003d\u003e "(3,)", "id" \u003d\u003e "(1,)")) -\u003e setParams (array ("app" \u003d\u003e $ app, "type" \u003d\u003e $ type \u003d NULL, " id "\u003d\u003e $ id \u003d 0)) -\u003e nazwa (" onePost ");));
Gdzie warunki jest walidacją według wyrażenie regularne, setParams - przekazanie parametrów do metody onePost, a nazwa to nazwa ewentualnego przekierowania do ta strona (Na przykład $ app-\u003e redirectTo ("onePost");)

Nie będzie zbędne sprawdzanie dostępności nie w samym kontrolerze, ale na poziomie routera, dzięki oprogramowaniu pośredniczącemu. Przykładowo dla panelu administracyjnego możesz od razu założyć całą grupę taką jak:

$ app-\u003e group ("/ admin", $ autenticateForRole ($ app, "admin"), function () use ($ app) (...));
Gdzie drugi argument to funkcja anonimowa przypisana zmiennej. W moim przypadku wygląda to tak:

$ autenticateForRole \u003d function ($ app, $ role \u003d "admin") (return function () use ($ app, $ role) (\\ Controller \\ Autch :: chekUserRole ($ app, $ role);););
Niestety, a dla niektórych może na szczęście slim nie ma wbudowanej pracy z bazą danych, ale ten problem rozwiązuje się po prostu, gdy tworzymy obiekt App. Możemy przekazać kilka argumentów, które będą przez niego używane.

Na przykład:

$ app \u003d new \\ Slim \\ Slim (array ("templates.path" \u003d\u003e "Views", "debug" \u003d\u003e TRUE, "mode" \u003d\u003e "programowanie", "BDbase" \u003d\u003e "localhost", "BDuser" \u003d\u003e "nazwa użytkownika", "BDpassword" \u003d\u003e "hasło", "BDname" \u003d\u003e "podstawowa nazwa"));
Wtedy możemy bezpiecznie używać Dependency Injection do pracy z bazą danych, odwołując się do parametrów przekazanych podczas tworzenia za pomocą $ app-config ("Name");

$ app-\u003e database \u003d new mysqli ($ app-\u003e config ("BDbase"), $ app-\u003e config ("BDuser"), $ app-\u003e config ("BDpassword"), $ app-\u003e config ("BDname ")); if ($ app-\u003e database-\u003e connect_errno) (echo "Nie udało się połączyć z MySQL: (". $ app-\u003e database-\u003e connect_errno. ")". $ app-\u003e database-\u003e connect_error; die ();) $ app-\u003e database-\u003e query ("SET NAMES" utf8 ""); $ app-\u003e database-\u003e query ("SET CHARACTER SET" utf8 ""); $ app-\u003e database-\u003e query ("SET SESSION collation_connection \u003d" utf8_general_ci "");
Wszystkie inne funkcje Slim są dobrze udokumentowane. Podsumowując, chciałbym powiedzieć, że dla naszego zespołu, który nigdy wcześniej nie pracował z różnymi framrworkami, było to dobre doświadczenie, które wykorzystujemy już w projektach, nie ma ochoty wracać do żadnego CMS.

Jeszcze tydzień temu musiałem wykonać małe zadanie. W tym przypadku używanie pełnoprawnego frameworka jest raczej głupie, a CMS w ogóle nie jest odpowiedni, ponieważ zadanie jest zbyt wąsko zaostrzone i proste. Do tej pory słyszałem o mikro-frameworkach, ale ich nie używałem, ponieważ nie było takiej potrzeby. Teraz pojawiła się taka potrzeba i zostawiłem wybór dla Slima. Na początku oczywiście zostałem zmieciony między Slimem i Silexem, ale potem po dokładniejszym przeczytaniu dokumentacji obu i doszedłem do wniosku, że Silex będzie „cięższy” niż Slim przez obecność dodatkowych bibliotek, których generalnie nie potrzebuję.

I tak zadanie polegało na stworzeniu ankiety w postaci zdjęć z ich oceną. Nie będę opisywał co dokładnie musiałem wdrożyć, bo to "trochę" naruszyło prawa autorskie ludzi, którzy w końcu okazali się być ogólnie w kapeluszu ... i tak chcieli ...: "(

Instalacja

Zainstalowanie szkieletu bardzo mnie ucieszyło. To proste - używamy Composera i nie przejmujemy się.

("require": ("slim / slim": "2. *"))

Instalacja php composer.phar

Pierwszy start

W index.php piszemy co następuje:

require_once "../vendor/autoload.php"; \\ Slim \\ Slim :: registerAutoloader (); $ app \u003d new \\ Slim \\ Slim (); $ app -\u003e get ("/", function () (echo "Cześć stary!";)); $ app -\u003e run ();

Teraz, jeśli pójdziesz do strona główna, wtedy zobaczymy napis „Cześć człowieku!”.

Jak już zrozumiałeś, możesz już rozpocząć pracę z tym frameworkiem, a my nie zrobiliśmy prawie nic! Wszystkie inne gadżety czekają na Ciebie w dokumentacji

Skąd ktoś wie, jak korzystać z tego systemu?

Nie mogę znaleźć samouczków, książek ani niczego na temat korzystania z tego programu. Tak, ich strona internetowa krótko wyjaśnia kilka rzeczy, ale nie ma żadnych wyjaśnień ani niczego innego. Google mnie zawiodło.

Czy ktoś może mi w tym pomóc? Muszę tego użyć, ale wydaje mi się to zupełnie obce.

Kluczową kwestią z prezentacji wspomnianej powyżej przez Jeremy'ego Kendalla (patrz ją) jest to, że dokumenty nie są wymieniane, dopóki 2/3 nie spadnie: aby Slim mógł obsłużyć routing, potrzebujesz pliku .htaccess :

RewriteEngine On RewriteCond% (REQUEST_FILENAME)! -F RewriteRule ^ index.php

Et voila, przykład na początku dokumentacji Slim będzie teraz działać dla Ciebie. uderza w czoło

Więcej informacji na temat składni i treści tych reguł .htaccess :

Poniższe posty bardzo mi pomogły w rozpoczęciu mojej pierwszej cienkiej aplikacji. Ale są one bardzo specyficzne dla tworzenia usług internetowych RESTful.

Przejrzałem posty, a następnie pobrałem kod, aby się nimi bawić. Później udało mi się wymieszać i dopasować najlepsze kawałki i zacząć się rozwijać w mniej niż 2 dni.

AKTUALIZACJA: 3 lata później nadszedł czas, aby dodać aktualizacje do tej odpowiedzi. W tym czasie wiele się zmieniło w slim frameworku (a nawet PHP).

Wydano cienką wersję 3 i wprowadzono w niej znaczące zmiany. W moich testach jest trochę wolniejszy i nieco bardziej złożony niż cienka 2. Ale architektura jest mądra, dużo lepsza, bezpieczna, odpowiednia zarówno dla dużych projektów, jak i małej witryny.
Ponadto PHP przyjął naprawdę dobrą standaryzację w postaci PSR, którą myślę, że każdy powinien zacząć akceptować. Implementacja zorientowana obiektowo znacznie się poprawiła w ciągu 3 lat, a wraz z wydaniem PHP 7 nie będę już tęsknić za moimi dniami w Javie.

  • Slim framework ma teraz świetne dokumenty. Jeśli ktoś nadal używa Slim2, ma też przyzwoite dokumenty.
  • Najpierw musisz spojrzeć na Slim 3 Primer. http://phpsw.uk/talks/a-slim-3-primer
  • Cienki blog to naprawdę dobra rzecz do czytania.
  • https://github.com/xssc/awesome-slim to dobre miejsce na zakładkę.

Treehouse i kilku innych zrobiło kilka samouczków na temat Slim 2, jak wspomniano w komentarzach, warto je obejrzeć. Slim 3 nie ma jeszcze filmów instruktażowych dla początkujących, ale sama koncepcja jest prosta. W przypadku prostych witryn poleciłbym Slim 2 tym, którzy nie są bardzo doświadczonymi programistami. Ale jeśli ktoś próbuje zbudować świetną profesjonalną aplikację / produkt, użyj Slim 3.

starsza odpowiedź

Zgadzam się, że nie ma wystarczającej uwagi w dziedzinie drobnej pod względem dokumentacji i przewodników. Nadal nie ma dużego samouczka, ale jeśli masz dobre umiejętności odbioru, pozwól, że wskażę ci jedyną wartą uwagi rzecz, którą znalazłem w sieci.

To jest prezentacja o drobnej strukturze. Nie jest to kompletny samouczek, ale wyjaśnia niektóre podstawy korzystania z frameworka. Pomogło mi to, kiedy po raz pierwszy znalazłem ramy.

Film trwa 43 minuty, ale warto.

Tak to zrobiłem.

Czytałem wtedy tutoriale od tamtejszych ludzi „Przeszedłem” przez kod ... Slim jest naprawdę „cienki”, ma tylko ~ 50 plików.

Sprawdź swój plik Slim.php, wszystko się tam zaczyna. Przyjrzyj się temu, co się dzieje w konstruktorze, a następnie przyjrzyj się metodom get / post. Jeśli masz zainstalowany xdebug, może on pomóc w wykonaniu jednego prostego żądania i tak dalej.

Jako dodatkowy bonus, dowiesz się dużo o PHP, szablonach i po prostu o tym, jak to działa.

PS Moja pierwsza odpowiedź jest tutaj :)

Slim to jedna z najpopularniejszych microframeworków open source dostępnych dla PHP. Jest bardzo wydajny, szybki i łatwy w użyciu. Ta struktura jest idealna do tworzenia małych i średnich aplikacji internetowych, a także umożliwia szybkie tworzenie dużych, skalowalnych aplikacji PHP.

Slim ma następujące (raczej przewidywalne dla frameworka) funkcje:

  • łatwy w użyciu, wydajny i elastyczny router;
  • przeglądanie wizualizacji szablonów;
  • bezpieczne pliki cookie;
  • Buforowanie HTTP;
  • łatwość obsługi błędów i debugowania;
  • łatwość dostosowania.

Wymagania

Ten przewodnik pokaże, jak zainstalować i skonfigurować Slim na wirtualnym serwerze dedykowanym. Postępując zgodnie ze wszystkimi przedstawionymi tutaj instrukcjami, uzyskasz w pełni skonfigurowaną i gotową do użycia strukturę ze strukturą folderów, w której możesz umieścić swój projekt.

Jeśli tworzona aplikacja nie potrzebuje MySQL, nie musisz jej instalować. Potrzebujesz przynajmniej serwera WWW Apache (z modułem Mod_Rewrite) i PHP 5.3+.

Szybka instalacja wymagań

Krok 1 - instalacja Apache

aktualizacja apt-get
apt-get install apache2

Krok 2 - instalacja PHP

apt-get install php5 libapache2-mod-php5 php5-mcrypt

3: Aktywacja mod_rewrite

4: Edycja pliku konfiguracyjnego Apache

W plik konfiguracyjny Apache musi zmienić AllowOverride None na AllowOverride All. W zależności od ustawień serwera plik ten może znajdować się w:

  • /etc/apache2/apache2.conf
  • / etc / apache2 / sites-enabled / 000-default
  • / etc / apache2 / sites-available / default

W pliku konfiguracyjnym znajdź sekcję, która wygląda następująco:



AllowOverride None
Wymagaj wszystkich przyznanych

Edytuj go w następujący sposób i zapisz zmiany:


Indeksy opcji FollowSymLinks
AllowOverride All
Wymagaj wszystkich przyznanych

5 - restart Apache

restart usługi apache2

Instalowanie Slim

Proces instalacji ramy Slim składa się z trzech etapów:

  • rozpakowywanie plików zip;
  • kopiowanie Slim Framework do miejsca publicznego.
  • 1: Ładowanie Slim

    Możesz pobrać Slim Framework za pomocą polecenia:

    wget https://github.com/codeguy/Slim/zipball/master

    To polecenie wyodrębni archiwum struktury i zapisze je w bieżącym katalogu pod nazwą główną.

    2: Rozpakuj plik zip

    Zawartość pliku zip można wyodrębnić za pomocą następującego polecenia:

    unzip master -d ./

    Uwaga: jeśli otrzymasz wiadomość, że narzędzie do rozpakowywania plików nie jest zainstalowany, można go zainstalować za pomocą polecenia apt-get install unzip, a następnie ponownie uruchomić poprzednie polecenie.

    To polecenie wyodrębni pliki do folderu o nazwie np. Codeguy-Slim-3a2ac72, który zawiera folder o nazwie Slim, folder struktury.

    3: kopiowanie Slim Framework do miejsca publicznego

    Teraz musisz skopiować folder codeguy-Slim-3a2ac72 / Slim do publicznego miejsca w systemie (na przykład / usr / local / Slim), skąd platforma Slim będzie dostępna dla wszystkich projektów na tym serwerze, które tego potrzebują. Pozwoli to uniknąć powielania i zapobiegnie problemom z konserwacją, które mogą wyniknąć z duplikatów programów.

    Skopiuj folder za pomocą następującego polecenia:

    cp -r ./codeguy-Slim-3a2ac72/Slim / usr / local / Slim

    Uwaga: nazwa wyodrębnionego folderu (w tym przypadku codeguy-Slim-3a2ac72) może się nieco różnić, jeśli załadujesz inną wersję frameworka. Upewnij się, że polecenie zawiera poprawną nazwę folderu.

    Gdy to zrobisz, każdy z projektów korzystających ze Slim Framework będzie mógł uzyskać do niego dostęp.

    Ważny! Wiele przewodników zaleca instalację frameworka w głównym folderze współdzielonym / document (na przykład / var / www / Slim). Pamiętaj: Instalowanie plików infrastruktury poza głównym folderem współdzielonym / document (jak to zrobiono w niniejszej instrukcji) pozwala trochę zabezpieczyć aplikację, ponieważ pliki frameworka nie będą dostępne w przeglądarce.

    Rozwój projektu Szczupły

    Zwykle projekt Slim składa się z trzech głównych katalogów:

    1. Katalog struktury Slim.

    Zawiera pliki struktury (katalog skopiowany w poprzedniej sekcji).

    1. Katalog projektów.

    Ten katalog zawiera pliki projektu (routery, widoki, modele itp.). Jako microframework Slim nie narzuca żadnej określonej struktury projektu. Oznacza to, że programista może samodzielnie ustrukturyzować pliki projektu w dowolny dogodny dla siebie sposób. Jest to szczególnie przydatne, jeśli programista jest już przyzwyczajony do określonej struktury folderów.

    Ten katalog może znajdować się w dowolnym miejscu na serwerze; Jedyny warunek: najlepiej, aby nie znajdował się w miejscu dostępnym z sieci. Można go umieścić w katalogu / usr / local lub home. Na przykład, jeśli projekt znajduje się w folderze HelloSlim, to taki folder można umieścić w / usr / local / HelloSlim lub ~ / HelloSlim.

    Pliki w tym folderze można zlokalizować w następujący sposób:

    HelloSlim
    | - Trasy
    | | - route1.php
    | | - route2.php
    | - Modele
    | | - model1.php
    | | - model2.php
    | - Wyświetlenia
    | | - footer.php
    | | - header.php
    | | - sidebar.php
    | | - view1.php
    | | - view2.php
    | - Klasa
    | | - class1.php
    | | - class2.php
    | - tours.php // zawiera instrukcje „include” dla wszystkich tras w folderze „Routes”
    | - include.php // zawiera instrukcje „include” dla wszystkich modeli / klas w folderach „Models / Class”

    Tę strukturę folderów można utworzyć za pomocą następujących poleceń:

    mkdir / usr / local / HelloSlim
    mkdir / usr / local / HelloSlim / Routes
    mkdir / usr / local / HelloSlim / Models
    mkdir / usr / local / HelloSlim / Views
    mkdir / usr / local / HelloSlim / Class

    Uwaga: nie ma potrzeby korzystania z tej struktury folderów; można go modyfikować zgodnie z potrzebami projektu lub dewelopera.

    1. Katalog główny lub folder współdzielony.

    Jest to folder dostępny w sieci (zwykle znajduje się w / var / www). Zawiera tylko dwa pliki związane ze Slimem:

    • index.php
    • .htaccess

    Ten folder zawiera również wszystkie skrypty pliki graficzne i style projektów. Aby uniknąć „zaśmiecania” folderu, możesz utworzyć w nim osobne skrypty, katalogi stylów i obrazów do przechowywania odpowiednich plików.

    Oto przykład struktury folderu głównego dokumentu:

    Document Root (np. / Var / www /)
    | - skrypty
    | | - jquery.min.js
    | | - custom.js
    | - style
    | | - style.css
    | | - bootstrap.min.css
    | - obrazy
    | | - logo.png
    | | - banner.jpg
    | - .htaccess
    | - index.php

    Zawartość pliku

    Załóżmy, że projekt ma strukturę podaną powyżej; w takim przypadku musisz wypełnić pliki .htaccess i index.php (w katalogu głównym dokumentu, katalogu głównym serwisu) w następujący sposób:

    .htaccess

    RewriteEngine On


    index.php



    wymagają "$ projectDir / include.php"; // dołącz plik, który zawiera wszystkie dołączenia związane z projektem
    $ app \u003d new \\ Slim \\ Slim (array (
    "templates.path" \u003d\u003e "/ usr / local / HelloSlim / Views"


    $ app-\u003e run (); // załaduj aplikację

    Zakładając, że projekt jest zorganizowany zgodnie ze strukturą folderów zdefiniowaną w poprzedniej sekcji, pliki tours.php i include.php (w katalogu projektu) powinny mieć następującą zawartość:

    wymagają „/usr/local/HelloSlim/Routes/route1.php”;
    wymagają „/usr/local/HelloSlim/Routes/route2.php”;

    Uwaga: Zamiast dodawać inne pliki tras, możesz dodać trasy bezpośrednio do tego pliku. Jednak definiowanie tras w oddzielnych, logicznie pogrupowanych plikach uprości obsługę projektu.

    obejmuje. php

    wymagają „/usr/local/HelloSlim/Class/class1.php”;
    wymagają „/usr/local/HelloSlim/Class/class2.php”;
    wymagają „/usr/local/HelloSlim/Models/model1.php”;
    wymagają „/usr/local/HelloSlim/Models/model2.php”;

    Przykładowa aplikacja Szczupły

    Teraz możesz rozpocząć tworzenie prostej aplikacji, która:

    • obsługuje trasy statyczne (GET & POST);
    • obsługuje trasy dynamiczne;
    • używa widoków.

    Uwaga: W tej przykładowej aplikacji założono, że platforma Slim została wdrożona zgodnie z instrukcjami zawartymi w samouczku.

    Najpierw musisz nakreślić wymagania tej przykładowej aplikacji:

    Ten projekt wymaga następujących plików w folderze aplikacji (/ usr / local / HelloSlim /):

    HelloSlim
    | - Trasy
    | | - getRoutes.php
    | | - postRoutes.php
    | - Wyświetlenia
    | | - footer.php
    | | - header.php
    | | - hello.php
    | | - greet.php
    | - tours.php

    Poniżej opisano, jak będzie działać udostępniony folder.

    Oto przykład struktury głównej dokumentu:

    Document Root (np. / Var / www /)
    | - .htaccess
    | - index.php

    Teraz musisz wypełnić te pliki w następujący sposób:

    1. /var/www/.htaccess

    RewriteEngine On
    RewriteCond% (REQUEST_FILENAME)! -F
    RewriteRule ^ index.php

    2. /var/www/index.php

    wymagają "/usr/local/Slim/Slim.php"; // dołącz framework do projektu
    \\ Slim \\ Slim :: registerAutoloader (); // zarejestruj autoloader
    $ projectDir \u003d "/ usr / local / HelloSlim"; // zdefiniuj katalog zawierający pliki projektu
    $ app \u003d new \\ Slim \\ Slim (array (
    "templates.path" \u003d\u003e "/ usr / local / HelloSlim / Views"
    )); // Utwórz instancję nowego obiektu Framework i zdefiniuj ścieżkę do folderu, w którym znajdują się widoki dla tego projektu
    wymaga "$ projectDir / tours.php"; // dołącz plik, który zawiera wszystkie trasy / uwzględnienia tras
    $ app-\u003e run (); // załaduj aplikację

    3. /usr/local/HelloSlim/Routes/getRoutes.php

    $ app-\u003e get ("/", function () (
    echo "To jest prosta strona startowa";
    });
    // Poniższe obsługuje każde żądanie do trasy / hello
    $ app-\u003e get ("/ hello", function () use ($ app) (
    // poniższa instrukcja wywołuje i wyświetla widok hello.php
    $ app-\u003e render ("hello.php");
    });
    // Poniższe obsługuje wszystkie dynamiczne żądania do tras / hello / NAME (takich jak / hello / world)
    $ app-\u003e get ("/ hello /: name", function ($ name) use ($ app) (
    // poniższa instrukcja wywołuje i wyświetla widok hello.php. Przekazuje również zmienną $ name w tablicy, aby widok mógł jej użyć.
    $ app-\u003e render ("hello.php", array ("name" \u003d\u003e $ name));
    });

    4. /usr/local/HelloSlim/Routes/postRoutes.php

    // Poniższy przykład obsługuje żądania POST wysłane do trasy / greet
    $ app-\u003e post ("/ greet", function () use ($ app) (
    // Poniższa instrukcja sprawdza, czy „nazwa” została wysłana. Jeśli tak, przypisuje wartość zmiennej $ name. Jeśli nie został ustawiony, przypisuje pusty łańcuch.
    $ name \u003d (null! \u003d\u003d $ app-\u003e request-\u003e post ("name"))? $ app-\u003e request-\u003e post ("name"): "";
    // Następująca instrukcja sprawdza, czy "powitanie" zostało wysłane. Jeśli tak, przypisuje wartość zmiennej $ greeting. Jeśli nie został ustawiony, przypisuje pusty łańcuch.
    $ pozdrowienia \u003d (null! \u003d\u003d $ app-\u003e request-\u003e post ("greeting"))? $ app-\u003e request-\u003e post ("greeting"): "";
    // poniższa instrukcja wywołuje i wyświetla widok „greet.php”. Przekazuje również zmienne $ name i $ greeting w tablicy, aby widok mógł ich użyć.
    $ app-\u003e render ("greet.php", array (
    "name" \u003d\u003e $ name,
    "pozdrowienie" \u003d\u003e $ powitanie
    ));
    });

    5. /usr/local/HelloSlim/Views/footer.php

    Informacja o prawach autorskich ...

    6. /usr/local/HelloSlim/Views/header.php




    Przykładowa aplikacja Slim

    7. /usr/local/HelloSlim/Views/hello.php

    ***

    ***

    dzień dobry


    DZWON

    Są tacy, którzy czytają tę wiadomość przed tobą.
    Zapisz się, aby otrzymywać najnowsze artykuły.
    E-mail
    Imię
    Nazwisko
    Jak chcesz przeczytać The Bell
    Bez spamu