Autor wpisu: JoShiMa, dodany: 25.02.2013 12:21, tagi: skrypty
Autor wpisu: JoShiMa, dodany: 24.02.2013 14:51, tagi: javascript
Autor wpisu: Jakub, dodany: 18.02.2013 14:25, tagi: php/mysql
W tym artykule postaram się pokazać i wytłumaczyć, jak stworzyć podstawowy szablon systemu WordPress, który w zupełności wystarczy do utworzenia mikrobloga lub wizytówki. Szablon którego użyję do okodowania, można znaleźć w dziale Download pod nazwą „Free CSS Template 1″. Zacznijmy od utworzenia podstawowych plików, odpowiedzialnych za poszczególne elementy strony:
- style.css
- header.php
- index.php
- footer.php
style.css – na samym początku tego pliku, muszą znajdować się dane o szablonie. Dzięki temu WordPress weryfikuje nasz motyw. Obowiązkowo musi mieć nazwę style.css oraz znajdować się w głównym katalogu szablonu:
1234567 | /* Theme Name: Wordpress template Description: My first wordpress template Version: 1.0 Author: Jakub Cieślak Author URI: http://www.jakub-cieslak.pl/ */ |
W dalszej części pliku kodujemy poszczególne elementy strony, lub w celu zwiększenia czytelności szablonu tworzymy osobny plik arkusza CSS. header.php – jest to nagłówek naszej strony internetowej. Obowiązkowo musi zawierać metatagi oraz funkcję wp_head() pomiędzy head. W moim przypadku, dołączyłem jeszcze górne menu oraz tekst:
1234567
Autor wpisu: Marek, dodany: 07.02.2013 19:50, tagi: php, zend_frameworkNaszym zadaniem jest, oprócz zapisywania błędów aplikacji do logu, automatyczne wysyłanie informacji o problemie na zdefiniowanego maila. Jak to zrobić za pomocą Zend_Log? Najpierw zainicjujmy zasób log w pliku konfiguracyjnym application.ini: ; log resources.log.file.writerName = "Stream" resources.log.file.writerParams.stream = APPLICATION_PATH "/../data/logs/app.log" resources.log.file.filterName = "Priority" resources.log.file.filterParams.priority = 5 Informacje o priorytecie 5 (Zend_Log::NOTICE) i ważniejsze zapisywać będziemy do pliku app.log. Plik Bootstrap.php: /** * Log aplikacji */ protected function _initRegisterLogger() { $this->bootstrap('Log'); $logger = $this->getResource('Log'); if ('production' == $this->getEnvironment()) { // konfiguracja wiadomości wysyłanej na maila $mail = new Zend_Mail('UTF-8'); $mail->setSubject('Hekima - raport błędu!'); $mail->addTo('mheki@localhost'); $writerMail = new Zend_Log_Writer_Mail($mail); // logowane tylko błędy z priorytetem WARN i wyższym $filter = new Zend_Log_Filter_Priority(Zend_Log::WARN); $writerMail->addFilter($filter); $logger->addWriter($writerMail); } // Zapis do rejestru Zend_Registry::set('Zend_Log', $logger); } Kilka słów wyjaśnienia. Pobieramy zasób Log, w przypadku produkcyjnego środowiska aplikacji, tworzymy obiekt klasy Zend_Mail, który posłuży do wysyłania wiadomości, a także ustawiamy osobny priorytet wysyłanych informacji (Zend_Log::WARN), następnie informujemy obiekt logujący o tym, żeby logi wysyłał na maila. Na koniec możemy jeszcze zapisać obiekt logujący do rejestru celem późniejszego użycia w aplikacji. W ostatnim kroku możemy jeszcze rozszerzyć wysyłane informacje, modyfikując w klasie ErrorController domyślną metodę errorAction(). Zamieniamy kod: if ($log = $this->getLog()) { $log->log($this->view->message, $priority, $errors->exception); $log->log('Request Parameters', $priority, $errors->request->getParams()); } na: if (($log = $this->getLog())) { $log->log($this->view->message, $priority, $errors->exception); $log->log($errors->exception->getMessage(), $priority); $log->log('Parametry wywołania: ' . print_r($errors->request->getParams(), true), $priority); } Metoda getLog() wygląda tak: public function getLog() { $bootstrap = $this->getInvokeArg('bootstrap'); if (!$bootstrap->hasResource('Log')) { return false; } $log = $bootstrap->getResource('Log'); return $log; } A otrzymany mail przykładowo może wyglądać tak: 2013-01-29T09:05:54+01:00 CRIT (2): Błąd aplikacji 2013-01-29T09:05:54+01:00 CRIT (2): SQLSTATE[42S02]: Base table or view not found: 1146 Table 'hekima.test_events' doesn't exist 2013-01-29T09:05:54+01:00 CRIT (2): Parametry wywołania: Array ( [module] => test [controller] => event [action] => index )
Autor wpisu: batman, dodany: 04.02.2013 07:00, tagi: javascript
Naukę każdej nowej technologii zaczyna się od aplikacji Hello World. Trzymając się tej tradycji, pierwszą aplikacją Windows Store będzie prosta aplikacja złożona z formularza oraz pola tekstowego wyświetlającego wprowadzone dane. Pisanie aplikacji zaczniemy od utworzenia nowego projektu. W tym celu (…)
Autor wpisu: singles, dodany: 03.02.2013 22:58, tagi: mysql, phpKolejną ksiażką, którą otrzymałem do zrecenzowania od Wydawnictwa Helion jest **PHP i MySQL dla każdego”. Autorem jest Marcin Lis, a ksiażka jest „świeżynką”, ponieważ została wydana w roku 2013. Uprzedzając – czy jest to artykuł sponsorowany? W jakiś sposób tak – książka zostanie u mnie i zostanie przeznaczona na nagrodę na następnym meet.php. Czy moje opinie są sponsorowane? Zdecydowanie nie. TreśćKsiażka jest typowym wprowadzeniem do języka PHP jak i MySQLa. O ile do „dla każdego” mógłbym się przyczepić (patrz podsumowanie recenzji), to zdecydowanie jest to ksiażka dla początkujących. Ksiażka podzielona jest na 3 części. Pierwsza tyczy się stricte PHP, druga MySQLa, a trzecia łączenia wcześniej wymienionych. Tak więc w przypadku PHP mamy spory rozdział o instalacji, potem o zmiennych, poprzez instrukcje sterujące itd. Znalazło się także miejsce na rozdział o programowaniu obiektowym (który jest 2 razy krótszy niż rozdział o instrukcjach warunkowych). Po opisaniu podstaw PHP przychodzi czas na opisanie podstaw MySQLa. No i ponownie mamy instalację, następnie czytamy o tym czym są tabele, jak je obsługiwać i jak dodawać, pobierać dane. Część trzecia opisuje na podstawowych przykładach, jak łączyć wspomniane technologie na przykładzie takich rzeczy jak system newsów czy też generowanie statystyk. Po zapoznaniu się z ksiażką stwierdzam, co następuje – 2/3 ksiazki to tak naprawdę przeredagowany manual dla PHP i MySQLa wydrukowany na papierze, z tym że z większą ilością przykładów. Co nie znaczy, że to coś złego. Cieżko powiedzieć coś wiecej – nie zauważyłem jakiś błedów merytorycznych, aczkolwiek mam kilka uwag:
Jakość wydaniaKsiążka wydana została w miękkiej oprawie i NIE pochodzi z wydania „eko”. Zawartość zmieszczono na ponad 600 stronach stosunkowo grubego papieru o wysokiej białości. Formatowanie jest bardzo dobre, ważne rzeczy odpowiednio wyróżnione, kod w przykładach drukowany czcionką o stałej szerokości z pogrubionymi słowami kluczowymi. Jeśli chodzi o język kodu, to tak jak nie znoszę listingów w innym języku niż angielski, w ksiażce dla początkujących mogę przymknąć oko. Jednak na fakt tego, że raz listingi są po polsku a raz po angielsku, to oka już nie przymykam. PodsumowanieMam problem z takimi ksiażkami.. Mianowicie, chodzi mi o człon „Dla każdego”. No i tutaj jest problem. Programowanie nie jest dla każdego. I nie, jestem daleki od wywyższania się. Bo tak samo nie dla każdego jest śpiewanie, malowanie, gotowanie czy też praca z klientem. Wszystkie wpisy należą do ich twórców. PHP.pl nie ponosi odpowiedzialności za treść wpisów.
|