Niezalogowany [ logowanie ]
Subskrybuj kanał ATOM Kanał ATOM

Autor wpisu: singles, dodany: 04.06.2011 12:24, tagi: php

Krótki wpis w ramach autolansu ;) W poniedziałek, 6 czerwca 2011, w ramach koła naukowego AKAI (Politechnika Poznańska) poprowadzę wykład na temat: Jak nie zostać „programistą” PHP? – dobre i złe praktyki.

Wykład przeznaczony jest dla początkujących, ale nie mam zamiaru mówić o tym, jak pisze się skrypty w PHP, do czego służy znacznik: <?php itd. O tym piszą już w wielu książkach.

Jak sam tytuł mówi, prezentacja skupi się na wskazaniu złych i dobrych praktyk występujących podczas tworzenia kodu w języku PHP (a część z nich będzie tyczyła się ogólnie programowania). W końcu PHP jest narzędziem, jak każdy inny język – a chodzi o to, żeby używać tego narzędzia tak, aby nie zrobić krzywdy sobie albo innym ;)

Wiecej informacji znajdziecie na stronie koła.

Wszystkich zainteresowanych tematem bądź chętnych do dyskusji zapraszam :)

Autor wpisu: Tomasz Kowalczyk, dodany: 03.06.2011 20:46, tagi: apache

Na rynku oprogramowania do zarządzania projektami jest wiele różnych skryptów i aplikacji, których filozofia w lepszy lub gorszy sposób wpasowuje się w nasz sposób postrzegania tego, w jaki sposób powinien przebiegać poprawny "przepływ pracy" powodujący powstanie produktu końcowego. Jednym z takich skryptów jest Redmine, który w pewien sposób "pasuje mi" podczas tworzenia własnych projektów. Nie [...]

Autor wpisu: batman, dodany: 03.06.2011 08:00, tagi: jquery

W serwisie Designbeep pojawiała się lista 17 bardzo ciekawych pluginów jQuery, obok których nie można przejść obojętnie. Co ciekawe są to nowe pluginy, które nie zdobyły jeszcze rzeszy fanów. Wśród pluginów znajdziemy kolejny klon LightBoxa, nawigację, mechanizm tagów, slideshow, czy wysiwyg HTML5. Pełna lista pluginów wraz z linkami do dem oraz dokumentacji znajduje się pod adresem http://designbeep.com/2011/06/02/17-fresh-and-functional-jquery-plugins-you-will-love/.

Enjoy :)

Autor wpisu: l3l0, dodany: 02.06.2011 08:58, tagi: symfony

Witam wszystkich po krótkiej (choć może nie tak krótkiej) przerwie. Po ostatnim poście o wyszukiwaniu przy pomocy SOLR-a, zaciekawiła mnie alternatywa jaką jest “Elastic Search”. SOLR jest potężnym rozwiązaniem jednak muszę przyznać że webowe API ma do bani. Po przejrzeniu dokumentacji na stronie http://www.elasticsearch.org/ mogę powiedzieć tylko że REST-owe API Elastic Searcha z mojego punktu [...]

Autor wpisu: batman, dodany: 02.06.2011 08:13, tagi: jquery

W serwisie Nettuts+ pojawił się interesujący quiz na temat jQuery. Mimo, iż skierowany jest do osób zaczynających swoją przygodę z jQuery, niektóre pytania mogą sprawić problem nawet doświadczonym programistom. W moim przypadku wynik to 80% (przy czym w jednym pytaniu nie zaliczyło mi poprawnej odpowiedzi – sprawdziłem dwa razy). Quiz dostępny jest pod adresem http://net.tutsplus.com/quizzes/nettuts-quiz-jquery-basics/. Koniecznie podzielcie się wynikiem (tylko bez oszukiwania proszę :) ).

Autor wpisu: Zyx, dodany: 01.06.2011 08:37, tagi: php

Podczas wczorajszego KrakSpota w rozmowach kuluarowych trochę uwagi poświęciliśmy budowaniu w PHP serwisów obsługujących bardzo duży ruch internetowy idący w dziesiątki milionów odwiedzin miesięcznie. Głównym kuluaromówcą był tutaj kolega Wojciecha Soczyńskiego z Katowic, Adam, dzielący się swoimi doświadczeniami programistycznymi. Z opowieści jego wyłonił się smutny obraz, że tworząc taki system firma skazana jest właściwie tylko na swoje własne siły, ponieważ jakichś gotowych narzędzi i rozwiązań po prostu nie ma. Ten wpis pragnę poświęcić próbie analizy przyczyn takiego stanu rzeczy.

Autor wpisu: batman, dodany: 01.06.2011 08:00, tagi: php

Nie, nie pomyliłem się. Kompilator PHP do kodu maszynowego istnieje i ma się całkiem dobrze. Mowa oczywiście o Phalanger, open-source’owym projekcie, pozwalającym korzystać z PHP tak samo, jak korzysta się z na przykład C#. Na projekt natrafiłem przy okazji (którą opiszę nieco później) i muszę przyznać, iż wygląda on bardzo interesująco. W skrócie – Phalanger kompiluje kod PHP do postaci MSIL, używanego przez środowisko CLR, dzięki czemu w banalny wręcz sposób możemy tworzyć “mieszane” aplikacje PHP + .NET.

Według informacji znajdujących się na stronie projektu, Phalanger posiada następujące możliwości:

  • korzystanie z bibliotek stworzonych w PHP przez inne języki platformy .NET
  • możliwość korzystania z bibliotek platformy .NET w kodzie PHP
  • kompilowanie PHP, a co za tym idzie zwiększenie jego wydajności
  • dodanie PHP do Visual Studio jako jednego z wielu dostępnych języków, a co za tym idzie możliwość korzystania z podpowiadania składni oraz debugowania aplikacji

Tyle teorii, a jak to wygląda w praktyce? Poniżej znajduje się przykład zaczerpnięty bezpośrednio z Phalangera. Jest to typowa strona aspx.

<%@ Page Language="PHP" AutoEventWireup="false" CodeFile="Default.aspx.php" Inherits="_Default" Title="Secret page" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Secret page</title>
</head>
<body style="font-family: Arial, Helvetica, sans-serif">
    <form id="form1" runat="server">
        <center>
            <table border="0" cellpadding="0" cellspacing="5">
                <tr>
                    <td style="text-align: center">
                	    You are currently logged in as <b><%= HttpContext::$Current->User->Identity->Name %></b>.
                    </td>
                </tr>
                <tr>
                    <td>
                        This page is protected by
                        <a href="http://msdn.microsoft.com/library/en-us/dnpag2/html/PAGExplained0002.asp?frame=true">Forms Authentication</a>.
                    </td>
                </tr>
                <tr>
                    <td style="text-align: center">
                        <asp:Button ID="ButtonLogout" runat="server" Text="Logout" OnClick="ButtonLogout_Click" />
                    </td>
                </tr>
            </table>
        </center>
    </form>
</body>
</html>

A teraz najzwyklejszy kod PHP (z małym dodatkiem), pełniący rolę code behind dla powyższej strony aspx.

import namespace System;
import namespace System:::Data;
import namespace System:::Configuration;
import namespace System:::Collections;
import namespace System:::Web;
import namespace System:::Web:::Security;
import namespace System:::Web:::UI;
import namespace System:::Web:::UI:::WebControls;
import namespace System:::Web:::UI:::WebControls:::WebParts;
import namespace System:::Web:::UI:::HtmlControls;

partial class _Default extends System:::Web:::UI:::Page
{
	protected function ButtonLogout_Click($sender, $e)
	{
		FormsAuthentication::SignOut();
		FormsAuthentication::RedirectToLoginPage();
	}
}

Jak widać pojawiło się importowanie przestrzeni nazw ze środowiska .NET, nowy operator (:::) oraz klasa częściowa. Nie są to jedyne zmiany, jakie wprowadzone zostały do PHP.

Niestety nie udało mi się uruchomić Phalangera na Visual Studio Express, co za tym idzie nie jestem w stanie w chwili obecnej potwierdzić, czy i jak to działa w rzeczywistości. Jeśli faktycznie można przy pomocy PHP tworzyć aplikacje bezproblemowo “gadające” z dotnetem, wówczas przed PHP otwiera się zupełnie nowy świat.

W każdej beczce miodu musi znaleźć się łyżka dziegciu. Nie inaczej jest w przypadku Phalangera. Na pewno zauważyliście nowy operator (:::). Zdaję sobie sprawę, iż wszystkie inne operatory są już zajęte, ale jakoś dziwnie te trzy dwukropki wyglądają. Bardziej niepokojąco wygląda sprawa z zarezerwowanym słowem namespace. Wprawdzie nie uruchamiamy języka w interpreterze PHP, niemniej korzystanie z zarezerwowanych terminów może spowodować problemy podczas kompilacji aplikacji napisanej w PHP 5.3. Nie dane mi było przetestować jak wygląda kwestia korzystania z Phalangera w Visual Studio, więc nie wiem jak wygląda podpowiadanie składni oraz debuger.

Zainteresowanych Phalangerem odsyłam do strony projektu – http://www.php-compiler.net/

Z kolei na codeplex znajdziecie dokumentację, linki do pobrania projektu oraz do wiki – http://phalanger.codeplex.com/.

Wszystkie wpisy należą do ich twórców. PHP.pl nie ponosi odpowiedzialności za treść wpisów.