Tu sú najdôležitejšie novinky, ktoré sme v roku 2008 zverejnili na webovej stránke.
Aktualizácia (6. decembra): Pridaná chýbajúca bezpečnostná oprava zipsu
Od poslednej alfy došlo k veľkému množstvu ďalších doplnkov a vylepšení, tu je však krátky prehľad najdôležitejších zmien:
- (dokumentácia bola aktualizovaná na aktuálny stav)
- ext / msql bol odstránený, zatiaľ čo ext / ereg teraz vyvolá upozornenia E_DEPRECATED
- ext / mhash bol nahradený ext / hash, ale plné BC je zachované
- PHP teraz používa cc ako predvolený kompilátor namiesto gcc
- Množstvo opráv chýb na ext / pdo, ext / soap, vrstva streamu a iné
Niekoľko zmien pod kapotou si tiež vyžaduje hĺbkové testovanie s existujúcimi aplikáciami, aby sa zabezpečilo, že akékoľvek prerušenia spätnej kompatibility budú minimalizované.
Boli by sme radi, keby sa k nám pridali vývojári, dizajnéri, manažéri alebo ktokoľvek iný, kto má záujem o programovací jazyk PHP, na to, čo sľubuje, že to bude úžasná udalosť za veľmi rozumnú cenu:
- Štandardné lístky: 60,00 £
- Ranné vtáča (do 8. novembra): 50,00 £
- Zvýhodnené lístky: 35,00 £
* Potvrdenie s hlavičkou vašej spoločnosti
** So študentským preukazom. K dispozícii je obmedzený počet miest na sedenie
Účelom tohto alfa vydania je povzbudiť používateľov, aby sa nielen aktívne podieľali na identifikácii chýb, ale aj na zabezpečení toho, aby všetky nové funkcie alebo potrebné prerušenia spätnej kompatibility boli zaznamenané v dokumentácii. Akékoľvek zistenia oznámte na alebo.
Došlo k veľkému množstvu ďalších doplnkov a vylepšení, ale tu je krátky prehľad najdôležitejších zmien:
- (dokumentácia môže byť zastaralá)
- Pridanie , (phar je naplánované na ďalšie práce hlavy alpha2) a rozšírení
- Voliteľný cyklický zber odpadu
- Voliteľná podpora pre náhradný ovládač MySQLnd pre libmysql
- Windows staršie ako Windows 2000 (Windows 98, NT4 atď.) už nie sú podporované ()
- Nové funkcie syntaxe, ako napríklad obmedzené GOTO, trojčlenná skratka „?:“
Niekoľko zmien pod kapotou si tiež vyžaduje hĺbkové testovanie s existujúcimi aplikáciami, aby sa zabezpečilo, že akékoľvek prerušenia spätnej kompatibility budú minimalizované. Toto je obzvlášť dôležité pre používateľov, ktorí vyžadujú nezdokumentovanú viacbajtovú podporu enginu Zend.
Náš hlavný predkladateľ Felix De Vliegher skutočne odovzdal svoje posledné príspevky sám, pretože na základe vysokej kvality jeho príspevkov mu boli udelené práva na odovzdanie do úložiska PHP. Nedostali sme odpoveď od všetkých účastníkov, ale odporúčame všetkým, aby blogovali o svojich skúsenostiach a poskytli nám spätnú väzbu, ako zlepšiť budúce podujatia.
Teraz lepšie neskoro ako nikdy, tu je 10 výhercov sľúbenej tomboly elePHPant sponzorovanej spoločnosťou Nexen. Všimnite si, že Felix ma požiadal, aby som ho nezaradil do tomboly, keďže doma už pasie dosť veľa slonov.
- Eric Stewart
- Håvard Eide
- Marc Veldman
- Priehrada Michelangela van
- Rein Velt
- Rob mladý
- Sami Greenbury
- Sebastian Deutsch
- Sebastian Schürmann
- Štefan Koopmanschap
Nexenu poskytneme e-mailové adresy výhercov, aby mohli zariadiť odoslanie elePHPants. Tiež pre tých ľudí, ktorí sa zaujímajú, môžete pokračovať v odosielaní testov na. Trochu ďakujem všetkým účastníkom a organizátorom TestFestu! Bez nespočetného množstva ľudí, ktorí pomáhali organizovať miestne podujatia, implementovať infraštruktúru a hodnotiteľov príspevkov, by TestFest očividne nefungoval tak dobre, ako doteraz. Na základe veľkého úspechu TestFest 2008 určite urobíme podobné akcie aj v budúcnosti.
Vylepšenia a opravy zabezpečenia v PHP 5.2.6:
- Opravené možné pretečenie zásobníka v FastCGI SAPI identifikované Andrei Nigmatulin.
- Opravené pretečenie celého čísla v printf () identifikované Maksymilianom Aciemowiczom.
- Opravený bezpečnostný problém podrobne popísaný v CVE-2008-0599, ktorý identifikoval Ryan Permeh.
- Opravený premostenie safe_mode v cURL, ktoré identifikoval Maksymilian Arciemowicz.
- Správne adresujte neúplné viacbajtové znaky vo vnútri escapeshellcmd (), ktoré identifikoval Stefan Esser.
- Aktualizovaný balík PCRE na verziu 7.6
Ak sa vás opýtam, ktorý predvolený typ stránky vo WordPress používate najmenej, tak s najväčšou pravdepodobnosťou bude vašou odpoveďou archívna šablóna. Alebo, čo je pravdepodobnejšie, ste o archívnej šablóne vôbec nepočuli – je taká nepopulárna. Dôvod je jednoduchý. Štandardný spôsob používania archívov nie je ani zďaleka „user friendly“.
Poďme to dnes napraviť! Poďme vytvoriť stránku s archívmi WordPress, ktorá je skutočne užitočná. Najlepšie na tom je, že tieto archívy budete môcť použiť v akejkoľvek modernej téme WordPress nainštalovanej na vašom webe. Poďme však najprv pochopiť, čo máme na mysli pod pojmom „stránka archívov“?
História archívov WordPress
Vo WordPress pracujete s množstvom rôznych šablón a stavebných blokov, ktoré prichádzajú s predvolenou konfiguráciou. Ak sa pozrieme na zoznam predvolených adresárov tém Twenty Fifteen, môžeme vidieť nasledovné:
- chybová stránka 404
- Stránka s archívmi (náš dnešný hosť)
- Stránka s priloženými obrázkami
- Indexová stránka (hlavná stránka)
- Šablóna stránky (pre štandardné strany)
- Stránka s výsledkami vyhľadávania
- Jednotlivé stránky s príspevkami a prílohami
Napriek rôznym účelom majú tieto stránky veľmi podobnú štruktúru a často sa líšia len v niekoľkých sekciách alebo niekoľkých riadkoch kódu. Jediný viditeľný rozdiel medzi indexovou stránkou a stránkou archívu je extra nadpis v hornej časti, ktorý sa mení v závislosti od stránky, ktorú si prezeráte.
Myšlienkou štruktúry archívu je ponúknuť správcovi blogu pohodlný a jednoduchý spôsob zobrazenia archívov na základe rôznych kritérií. Koniec koncov, všetky tieto rôzne archívne stránky sú len verziami indexovej stránky; zobrazujú obsah publikovaný v konkrétnom časovom rámci, konkrétneho autora, so špecifickými značkami a kategóriami.
Znie to dobre, keď sa na to pozeráte z perspektívy programátora, ale nie je to práve najpríjemnejší prístup. V tomto prípade chýba jedna dôležitá rovina – rovina, ktorá leží medzi zámerom používateľa nájsť obsah a jednotlivými prvkami archívov.
Toto mám na mysli. V súčasnosti je jediným vstavaným spôsobom zobrazenia archivovaných odkazov na webe WordPress pomocou miniaplikácie. Ak teda chcete používateľom umožniť ponoriť sa do archívov a chcete to urobiť spôsobom, ktorému ľudia rozumejú, museli by ste celý bočný panel venovať jednému archívu (len aby ste odhalili rôzne typy štruktúrovania: archívy podľa dátumu , archívy kategórií, štítky archívov, archívy autorských práv atď.).
Potrebujeme nejakého sprostredkovateľa, nejakú stránku, ktorá návštevníka pozdraví, vysvetlí mu, že je v archíve a upozorní na obsah, ktorý ho zaujíma, prípadne ponúkne obľúbený obsah.
Z tohto dôvodu sme sa rozhodli vytvoriť vlastnú stránku archívov.
Ako vytvoriť vlastnú archívnu stránku vo WordPress
Tu je to, čo budeme robiť. Naša vlastná archívna stránka bude založená na vlastnej šablóne stránky. Táto šablóna nám umožní urobiť nasledovné:
- Pridajte vlastný príspevok (môže obsahovať text, obrázky, registračný formulár atď. - štandardný obsah WordPress).
- Zobraziť posledných 15 záznamov (konfigurovateľné)
- Zobraziť odkazy na archívy autorských práv
- Zobraziť odkazy na archívy podľa mesiacov
- Majú ďalšie oblasti miniaplikácií (na zobrazenie vecí, ako je obľúbený obsah, kategórie, značky).
Nakoniec bude stránka responzívna a použiteľná na akomkoľvek webe.
Naozaj si však musíme vziať nejakú tému ako základ. Použil som tému Zerif Lite. Priznám sa, že toto je jedna z našich vlastných tém. Je to však jedna z 10 najobľúbenejších tém publikovaných minulý rok v adresári tém WordPress. Tak dúfam, že to využijete.
A áno, ak sa vám téma nepáči, nemusíte nadávať. Prístup uvedený v tomto článku môžete použiť s akoukoľvek inou témou.
Počnúc hlavným súborom
Najlepším modelom na vytvorenie archívnej stránky je súbor page.php vašej aktuálnej témy, a to z niekoľkých dôvodov:
- Jeho štruktúra je už optimalizovaná na zobrazovanie ľubovoľného obsahu v rámci hlavného bloku obsahu.
- Toto je možno jedna z najjednoduchších šablón stránok vo vašej štruktúre tém.
Preto použijeme súbor page.php témy Zerif Lite. Vytvorím si jeho kópiu a pomenujem ho tmpl_archives.php.
(Uistite sa, že ste nepomenovali stránku page-archives.php. Všetky názvy súborov začínajúce na „page-“ sa budú považovať za nové šablóny stránok v rámci hlavnej hierarchie súborov tém WordPress. Preto sme použili predponu tmpl_) .. .
Zmeňme to na nasledovné:
Všetko, čo tento riadok robí, je odovzdať príslušný súbor obsahu pre našu stránku archívov.
Zo stránky archívu môžete odstrániť ďalšie prvky, ktoré sa zdajú byť nadbytočné (napríklad komentáre), ale nezabudnite odstrániť všetky prvky, ktoré sú relevantné pre štruktúru HTML. A celkovo sa nebojte experimentovať. Ak totiž niečo náhle prestane fungovať, vždy sa môžete vrátiť k predchádzajúcemu kódu a jednoducho ho odladiť.
Okrem toho nezabudnite na štandardný komentár – popis šablóny – ktorý by sa mal nachádzať na samom začiatku vášho súboru (v našom prípade v súbore tmpl_archives.php):
Nakoniec nám zostane nasledujúca štruktúra (niektoré prvky boli pre pohodlie odstránené):
V tomto súbore budeme musieť odstrániť všetky nepotrebné veci a ponechať iba štrukturálne prvky, ako aj volania základných funkcií WordPress:
Zástupný komentár v samom strede kódu je miesto, kam potom vložíme naše ľubovoľné prvky.
Pridanie vlastného pozdravu
O to sa už postaral samotný WordPress. Potrebujeme len vložiť nasledujúci riadok:
Pridávanie nových oblastí miniaplikácií
Nastavme nové oblasti miniaplikácií vo WordPress pomocou štandardného procesu. Urobíme to pomocou dodatočného funkčného súboru, aby bolo možné veci opakovane použiť od témy k téme. Vytvoríme nový súbor archives-page-functions.php, umiestnime ho do hlavného adresára témy a tiež zaregistrujeme dva nové rozsahy widgetov:
If (! Function_exists ("archives_page_widgets_init")): function archives_page_widgets_init () (/ * Widget prvej stránky archívu, zobrazený VĽAVO. * / Register_sidebar (pole ("name" => __ "Miniaplikácia stránky archívov VĽAVO", "zerif" -lite "), popis "=> __ (" Tento widget sa zobrazí na ľavej strane vašej archívnej stránky. "," zerif-lite "), id "=>" archives-left "," before_widget " => "
"," before_title "=>""," after_title "=>"
",)); / * Druhá miniaplikácia stránky archívu, zobrazená VPRAVO. * / Postranný panel Register_ (pole (" názov "=> __ (" Miniaplikácia stránky archívov VPRAVO "," zerif-lite "), popis "=> __ ("Tento widget sa zobrazí na pravej strane stránky vášho archívu.", "Zerif-lite"), "id" => "archives-right", "before_widget" => " "," before_title "=>""," after_title "=>"
",));) endif; add_action (" widgets_init "," archives_page_widgets_init ");If (! Function_exists ("archives_page_styles")): function archives_page_styles () (if (is_page_template ("tmpl_archives.php")) (wp_enqueue_style ("archives-page-style", get_template_directory_uri). "/ Archives-page-style. css "); // štandardný spôsob pridávania štýlov vo WP.)) endif; add_action ("wp_enqueue_scripts", "archives_page_styles");
Toto je podmienená operácia zaraďovania do frontu. Bude fungovať iba vtedy, ak si návštevník prezerá archivovanú stránku.
Nezabudnite zahrnúť náš nový súbor archives-page-functions.php pridaním nasledujúceho riadku na úplný koniec súboru functions.php aktuálnej témy:
Vyžadovať get_template_directory (). "/archives-page-functions.php";
Nakoniec, nový blok, ktorý budeme používať v našom hlavnom súbore content-tmpl_archives.php, je celkom jednoduchý. Umiestnite nasledujúci kód pod the_content (); call:
Všetko, čo teraz musíme urobiť, je postarať sa o jediný chýbajúci súbor, archives-page-style.css. Nechajme to však na neskôr, keďže ho použijeme ako úložisko pre všetky štýly našej vlastnej archívnej stránky vrátane widgetov.
Zobrazenie posledných 15 záznamov
Na to musíme urobiť nejaké manuálne kódovanie PHP. Aj keď je možné výstup príspevkov implementovať pomocou rôznych widgetov, vyhnime sa monotónnosti a ponorme sa do kódovania, aby sme ukázali viac rôznych možností.
Pravdepodobne sa pýtate, prečo práve 15 záznamov? Neviem, práve som zobral toto číslo zo stropu. Urobme to prispôsobiteľné pomocou vlastných polí.
Tu je to, čo urobíme:
- Nastavte počet príspevkov pomocou vlastného poľa archivované-prispevky-č.
- Ak číslo nie je správne, šablóna použije predvolenú hodnotu posledných 15 záznamov.
Nižšie je uvedený kód, ktorý to robí. Umiestnite ho pod predchádzajúcu časť v súbore content-tmpl_archives.php, ktorý spracováva nové oblasti widgetov.
ID, "archivované-nie-príspevkov", pravda)); / * Tu sa ubezpečujeme, že načítané číslo je primerané. V prípade, že je vyššie ako 200 alebo nižšie ako 2, iba ho resetujeme na predvolenú hodnotu 15. * / if ($ how_many_last_posts> 200 || $ how_many_last_posts< 2) $how_many_last_posts = 15; $my_query = new WP_Query("post_type=post&nopaging=1"); if($my_query->have_posts ()) (echo "
"; echo"
- "; $ counter = 1; while ($ my_query-> have_posts () && $ counter<= $how_many_last_posts) {
$my_query->pošta (); ?>
- ">
Všetko, čo tento kód robí, je získať hodnotu vlastného poľa, nastaví počet záznamov na zobrazenie a potom tieto záznamy načíta z databázy pomocou WP_Query () ;. Tiež používam niekoľko ikon Font Awesome, aby som tomuto bloku dodal nejaké kúzlo.
Zobrazenie odkazov na archívy autorských práv
Táto sekcia je užitočná iba vtedy, ak prevádzkujete blog pre viacerých autorov. Toto preskočte, ak máte jedného autora.
Táto funkcia môže byť implementovaná pomocou jednoduchého bloku kódu, ktorý je potrebné umiestniť do nášho súboru content-tmpl_archives.php (pod predchádzajúcim blokom):
Naši autori
O pár minút prejdeme k štýlom. Zatiaľ si všimnite, že všetko sa robí volaním funkcie wp_list_authors ().
Zobrazenie odkazov na archívy podľa mesiacov
Tento prvok som pridal na úplný koniec, keďže nejde o najužitočnejšiu zložku z pohľadu čitateľov. Je však dôležité mať ho na stránke archívu, aby ste nemuseli používať widgety na zobrazovanie mesačných archívov inde na stránke.
Takto to bude vyzerať v súbore content-tmpl_archives.php:
Podľa mesiaca
V tomto prípade ho zobrazíme ako samostatný odsek s položkami oddelenými lomkami (|).
Kompletná šablóna stránky archívu
Pozrime sa na úplný súbor content-tmpl_archives.php, ktorý je naším hlavným súborom na výstup vlastného archívu:
Posledný ". $ How_many_last_posts." Príspevky
"; echo" "; $ counter = 1; while ($ my_query-> have_posts () && $ counter<= $how_many_last_posts) {
$my_query->pošta (); ?>
Naši autori
Podľa mesiaca
Štýlový list
Nakoniec sa pozrime na šablónu so štýlmi. Takto vyzerá súbor archives-page-style.css:
Archives-widget-left (float: left; width: 50%;) .archives-widget-right (float: left; padding-left: 4%; width: 46%;) .archives-latest-section () .archives -latest-section ol (font-style: italic; font-size: 20px; padding: 10px 0;) .archives-latest-section ol li (padding-left: 8px;) .archives-authors-section () .archives -authors-section ul (list-style: none; text-align: center; border-top: 1px bodkovaný # 888; border-bottom: 1px bodkovaný # 888; padding: 10px 0; font-size: 20px; margin: 0 ( ext-align: center; word-spacing: 5px;) .archives-by-month-section p (border-top: 1px bodd # 888; border-bottom: 1px boddted # 888; padding: 15px 0;) .archives- podľa mesiaca podľa sekcie pa (text-decoration: none;) @media only screen and (max-width: 600px) (.archives-widget-left (šírka: 100%;) .archives-widget -vpravo (šírka: 100 %; ))
Väčšina štýlov sa týka fontov a niekoľkých štrukturálnych prvkov, s výnimkou niekoľkých zarovnaní a responzívneho dizajnového bloku na konci.
Uvidíme, ako to bude vyzerať v praxi. Tu je stránka s množstvom obsahu v archíve:
Ako integrovať túto šablónu do ľubovoľnej témy
Stránka vlastných archívov, ktorú sme tu vytvorili, je pre tému Zerif Lite, ktorá je dostupná v oficiálnom adresári WordPress. Ako som však už povedal, dá sa použiť s akoukoľvek témou. Postup:
- Uchopíme súbory archives-page-style.css a archives-page-functions.php, ktoré sme vytvorili v návode, a potom ich umiestnime do hlavného adresára témy.
- Upravte súbor functions.php témy a na úplný koniec pridajte nasledujúci riadok: require get_template_directory (). '/Archives-page-functions.php';
- Vezmeme súbor témy page.php, vytvoríme jeho kópiu, premenujeme ho, zmeníme volanie funkcie get_template_part () na get_template_part ('content', 'tmpl_archives'); a potom na úplný začiatok pridáme popisný komentár: / * Názov šablóny: Vlastná stránka archívu * /.
- Vezmeme súbor content-page.php vašej témy, vytvoríme jeho kópiu, premenujeme ho na content-tmpl_archives.php a pridáme k nemu všetky ľubovoľné bloky, ktoré sme vytvorili v návode, hneď pod volanie the_content ( ); funkcia.
- Testujeme a užívame si.
Takto by to vyzeralo v predvolenej téme Twenty Fifteen:
Včera sa ma na fóre pýtali vytváranie ZIP archívov v PHP... Trochu som sa zamyslel a uvedomil som si, že táto téma bude zaujímať veľké množstvo ľudí, pretože ZIP archivácia v PHP veľmi populárna téma. A v tomto článku ukážem príklad, ako sa vytvorí zip archív pomocou skriptu PHP.
Dovoľte mi hneď uviesť príklad vytvorte zip archív, a potom sa k tomu dôkladne vyjadrím:
$ zip = nový archív ZIP (); // Vytvorenie objektu pre prácu s archívmi ZIP
$ zip-> open ("archive.zip", ZIPARCHIVE :: CREATE); // Otvorenie (vytvorenie) archívu archive.zip
$ zip-> addFile ("index.php"); // Pridajte súbor index.php do archívu
$ zip-> addFile ("styles / style.css"); // Pridajte súbor styles / style.css do archívu
$ zip-> zavrieť (); // Dokončite prácu s archívom
?>
V dôsledku vykonania tohto skriptu ZIP archív, ktorý bude mať súbor v koreňovom adresári index.php a vytvorí sa aj adresár štýlov kde bude súbor umiestnený style.css... Myslím, že je to všetko jasné a logické. A teraz komentujem, čo sme s vami urobili:
- Vytvoril objekt ZipArchive pomocou konštruktora.
- Vytvoril archív pomocou metódy otvorené () objekt ZipArchive... Prešli sme názov archívu ( archív.zip) a konštantná ZIPARCHÍV :: VYTVORIŤ, ktorý hovorí, že ak archív neexistuje, musí byť vytvorený.
- Metóda pridať súbor () pridáva súbory do archívu. Najprv sme pridali súbor " index.php", ktorý sa nachádza v rovnakom adresári ako skript. Ďalej sme pridali súbor style.css, pričom tiež uvádza správnu cestu k nemu vzhľadom na skript.
- Metóda Zavrieť () ukončí prácu s archívom. Vždy ho spustite, aby ste uvoľnili počítačové zdroje a predišli rôznym problémom spojeným s prevádzkou tohto skriptu a iných skriptov, ktoré potrebujú prístup k tomuto archívu.
Týmto jednoduchým spôsobom môžete automaticky vytvárať ZIP archívy pomocou PHP... V nasledujúcom článku s vami budeme analyzovať, ako extrahovať zip archív cez PHP.
Hodnota avatarov v psychológii
Hodnota avatarov v psychológii
Ako zdôrazniť písmeno v MS Word
Čo to znamená, ak je avatar osoby
Ako si vytvoriť svoj vlastný Twitter moment