Blog tutorial – część 1

W najbliższym czasie postaram się opublikować serię wpisów, dla początkujących. Celem będzie zbudowanie bardzo prostego Bloga – oczywiście tak naprawdę jest to tylko preteks, aby przedstawić sposób w jaki można tworzyć aplikacje za pomocą CodeIgnitera. Kiedyś popularne były wpisy typu „Hello World”, ale z racji tego, że raczej trudno w ten sposób przedstawić możliwości frameworka, zbudujemy „blog” ;)

W tutorialach często przedstawia się jedynie kod bez dobrego wytłumaczenia, co on właściwie robi i czemu akurat w ten, a nie w inny sposób. Zdaję sobie sprawę, że byłoby to o wiele prostsze podejście, ale mam ambicję, aby w tym tutorialu zawrzeć kilka dobrych praktyk, których można się trzymać przy realizacji własnych projektów. Nie oznacza to oczywiście, że będą to jedynie słuszne rozwiązania – wręcz przeciwnie – zachęcam do zadawania pytań lub dzielenia się z innymi, w jaki sposób sami radzicie sobie z przedstawionymi „problemami”. Mam nadzieję, że ten mały cykl pomoże nie tylko początkującym użytkownikom (chociaż pewnie będzie trudno).

Używać będziemy tylko standardowych bibliotek, tak aby początkujący użytkownicy – być może będzie to ich pierwsze zetknięcie z pisaniem aplikacji przy pomocy frameworka CodeIgniter – poznali podstawy. Bardziej zaawansowane tutoriale być może pojawią się w przyszłości (a może nawet sami pokusicie się o ich napisanie).

Do budowy interfejsu użytkownika w naszej aplikacji wykorzystamy Twitter Bootstrap.
Całość tutorialu będzie dostępna na githubie pod adresem http://github.com/codeigniter-polska/blog-tutorial.

Makieta

Pisanie każdej aplikacji dobrze jest zacząć od zaplanowania, co ma ona dokładnie robić. Mimo, że nasz blog będzie naprawdę prosty, to również w tym przypadku warto to zrobić. Najprościej wziąć zwykłą kartkę i najzwyczajniej w świecie narysować, jak wyobrażamy sobie poszczególne elementy aplikacji. Takie podejście sprawi, że na samym początku będziemy zmuszeni pomyśleć o tym, z jakich elementów będzie składał się nasz blog. Naszą aplikację można podzielić na 3-4 ekrany: logowanie, przeglądanie wpisów ze stronicowaniem oraz dodawanie wpisów i ich edycja. Jak wspomniałem przed chwilą, wystarczy do tego zwykła kartka, ale możemy też skorzystać z narzędzi online, które potrafią usprawnić ten proces (chociaż jest to też kwestia gustu) – jest ich naprawdę masa. Mnie na potrzeby tego tutorialu wygodniej było skorzystać z jednego z takich narzędzi dostępnych online (użyłem darmowego serwisu moqups). Poniżej przedstawiam więc zarys aplikacji – fachowo możemy to nazwać makietą projektu. Na taką makietę naniesione są wszystkie kluczowe elementy projektu. Stosowanie makiet przy projektowaniu aplikacji, jest bardzo pomocne – również w kontekście późniejszej pracy nad designem aplikacji.

Mając już „szkic”, bez problemu możemy określić elementy, z których będzie składać się nasza aplikacja. Wypadałoby więc jeszcze dokładnie określić, zasady na jakich ma się odbywać publikacja wpisów na blogu. Aby opublikować lub edytować wpis na blogu, niezbędne będzie zalogowanie do aplikacji. Niezalogowani użytkownicy będą natomiast mogli tylko przeglądać dodane wpisy.

W tej części tutorialu pozostała nam jeszcze tylko jedna rzecz do zrobienia – sama instalacja CodeIgnitera. Wielkiej filozofii tutaj nie ma – po prostu ściągamy i rozpakowujemy najnowszą, stabilną wersję CodeIgnitera (2.1.3). Ja pozwolę sobie poczynić założenie (którego będę się trzymał przez wszystkie części tutorialu), że nasza aplikacja znajdować się będzie pod adresem http://localhost/blogtutorial. Dodam tylko, że podczas realizacji tego tutorialu będę korzystał z systemu Windows 7 oraz pakietu XAMPP.

W następnej części zajmiemy się bazą danych dla naszego bloga.

12 komentarzy do “Blog tutorial – część 1”

  1. może i tak, ja ok. rok temu się przesiadłem z XAMPP na WAMP i jestem BARDZO zadowolony :D naprawdę, warto sprobować

    Odpowiedz
  2. Domyślam się że jeszcze nie zacząłeś robić ;D

    A może spróbujesz zrobić ten tutorial w oparciu o ci3, z tego co pamiętam na forum trochę o nim pisałeś. Mógłbyś pokazać przy okazji różnice między ci2 i ci3 to osoby które już trochę znają ci też by mogli się czego dowiedzieć ciekawego.

    Odpowiedz
    • Co do tutorialu, który opierałby się na wersji 3, to chyba nie jest to na razie dobry pomysł. Co prawda wielkich zmian w nowej wersji już raczej nie będzie, ale mimo wszystko… jest to tutorial skierowany do początkujących. Nie chcę aby ktokolwiek poczuł się zniechęcony, przez konieczność używania wersji developerskiej frameworka.

      Tak naprawdę CI3 nie odkrywa koła na nowo – wszystko jest po staremu, tyle że lepiej ;) Bardziej doświadczonemu użytkownikowi wystarczy przejrzenie change loga, by wiedzieć co i jak. Opcja, która mogła zmienić kilka rzeczy w CI, czyli włączenia HMVC do frameworka, została odłożona w czasie do wersji 3.x, co oznacza, że nie czeka nas na razie zmiana „stylu pisania kodu”.

      Obiecuję natomiast, że jak tylko CI3 ujrzy światło dzienne, tutorial zostanie zaktualizowany. BTW wydanie CI3 to według (nieoficjalnych) informacji, prawdopodobnie kwestia kilku tygodni, więc trzymajmy kciuki :)

      Odpowiedz
      • > jak tylko CI3 ujrzy światło dzienne, tutorial zostanie zaktualizowany. […] kwestia kilku tygodni <

        Witam serdecznie pierwszy raz.
        Jestem zainteresowany poznaniem CI (pracy z firemworkiem w ogólności), a ponadto chcę przestawić się na programowania obiektowe od podstaw nie popadając przy tym w skrajności mini-frameworków z jednej i rozbudowanych firemworków z drugiej strony. Dość długo badałem różne firemworki zanim podjąłem decyzję, że do moich celów najlepiej posłuży CI.
        "Kilka" tygodni upłynęło i podobno (jak wyczytałem w innym miejscu tego portalu) wersja 3 pomimo statusu "dev" jest gotowa do pracy produkcyjnej. Więc chyba mija się z celem rozpoczynanie pracy z CI 2.2, zamiast od razu z 3…
        Jeśli tak jest, to zacznę zabawę od tego tutorialu przerabiając go na wersji 3, mając pod ręką change loga w razie problemów. Czy to dobry pomysł?

        Odpowiedz
  3. Przeglądałem przed chwilą to co jest na githubie, w sumie tak jak mówisz, nadal będziemy mieć stare dobre CI :)

    Jedyne zmiany jakie mi udało mi się wyłapać to doszło kilka driverów do Cache i od CI3 sesja będzie posiadać drivery :) Ale widzę po liście zmian że jest ich sporo.

    Pewnie w kodzie jest masa zmian, bo lista issues wydaje mi się dość długa.

    W takim razie tutorail napisany na CI2 będzie aktualny na CI3.

    Odpowiedz
  4. ci3 jest już aktualny a tu brak kursów po polsku do frameworka, ja osobiście chciałbym używać ci3 zamiast naprzykład wp, i tutoriali po angielsku również jak na lekarstwo:(

    Odpowiedz

Dodaj komentarz

Ta strona używa Akismet do redukcji spamu. Dowiedz się, w jaki sposób przetwarzane są dane Twoich komentarzy.