Tablice, stringi, pliki - kolejny projekt
Teraz przed nami część o wielu mniejszych rzeczach zebranych w całość. Powiemy sobie o obsłudze plików, omówimy kilka funkcji do operacji na stringach. Coś do tablic też się znajdzie. Będzie ogólnie sporo wiedzy nowej, przekazywanej „przy okazji”. Mam jednak nadzieję, że to nie problem - gdybym po kolei omawiał każdą konstrukcję/funkcję, to napisałbym drugą dokumentację. A, jak na początku wyjaśniałem, nie to jest moim celem.
Miałem mały dylemat tworząc ten rozdział - pisać go, a może nie i przejść od razu do obiektowości? Wchodząc dopiero w świat PHP możesz nie wiedzieć, że teraz w zasadzie każdą aplikację tworzy się obiektowo. Mechanizm do obsługi bazy danych? Obiektowy. Operacje na dacie i czasie? Również obiektowo. Pobieranie zewnętrznych bibliotek? W każdym poważnym kodzie odbywa się to przez Composera (więcej o nim już niedługo), który następnie oferuje autoloading (prosto mówiąc jest to łatwe wczytywanie tych pobranych skryptów), który… opiera się na obiektowości.
Rzecz jasna to nie oznacza, że wcale nie używa się prostych funkcji czy konstrukcji z samego języka. Jak najbardziej, normalnie się ich używa, ale całościowo aplikacje budowane są inaczej.
Stwierdziłem jednak, że nie zaszkodzi poświęcić jeszcze wcześniej kilku chwil na pośrednie tematy i zbudowanie kolejnego projektu na bazie tego, co już umiemy i czego będziemy się uczyć. Tym razem będzie to lista zadań do zrobienia (nazywana też często listą TODO) działająca z poziomu konsoli. Pewnie ktoś zapyta (albo przynajmniej przejdzie mu to przez myśl) czy ja przypadkiem nie zapomniałem, że PHP znany jest głównie z użycia w serwisach internetowych, a nie ciągle jakaś konsolowych. Nie, nie zapomniałem i już niedługo do tego przejdziemy. Powód takiego podejścia jest bardzo prosty: chcę pokazać odpowiednio oddzielenie widoku strony (HTML) od mechaniki (PHP) przy użyciu systemu szablonów, a jego nie chciałbym wprowadzać dopóki nie poznamy Composera i obiektowości. Proszę o jeszcze trochę sumiennej pracy i cierpliwości :)
Komentarze