[PHP] Einstieg in die Web-Entwicklung

  • Apfelbeisser schrieb:

    @zerm: Ja ... PHP ist einfach furchtbar ... :) aber ziemlich tolerant ... so dass so viele Webprojekte damit erfolgreich laufen dürfen :)
    Kannst du einfach loslegen ... es geht einfach nur um die Umsetzung deiner Ideen ... was dahinter passiert, ist doch wurscht ... bis du echte
    Herausforderungen kriegst wegen dem Traffic ... dann musst du dir was überlegen: Migration nach scala/java (hauptsache jvm) oder PHP Compiler nach C++ bauen (bei facebook HipHop)

    Die Sprache ist einfach kaputt, designed von Leuten, die offensichtlich keine Ahnung haben - siehe mein Link. Entsprechend stösst man schnell auf Probleme. Es gibt so viele modernere Lösungen, die meiner Erfahrung noch einmal deutliche effizienter sind. Nicht nur effizienter im Betrieb, sondern auch und vorallem in der Entwicklung, wie etwa Python/Django oder Ruby/Rails.
    Selbst kleinere Skripte, etwa in die Richtung der Anforderung vom OP, kann man in meinen Augen viel besser in etwa Python lösen (und so mache ich es letztendlich auch) - grade Parsing von anderen Seiten etwa geht viel bequemer, konsistenter und wartbarer in Python.

    Das Problem von PHP ist einfach, dass es "billig" ist. Ein PHP Projekt kann jeder auf seinem 0,99/Monat Hostern nutzen und braucht sich um nicht viel kümmern. Das zieht vorallem Neulinge an; was dazu führt, dass eine schlechte Sprache auch noch hauptsächlich von schlechten Entwicklern benutzt wird.

    Allein die Beispiele aus dem Link sind doch ein guter Hinweis, wie schmerzhaft PHP ist:
    php -r 'if("5"=="00005") { echo "Yes\n"; }'
    =>"Yes"
    Also muss man immer Stringvergleiche mit strcmp(?) oder === machen. == funktioniert manchmal nicht so, wie man es erwartet.

    Mein Liebling:
    php -r 'echo 0x0+2 . "\n";'
    => 4
    W-T-F?
    C++
  • Ich habe gute 10 Jahre hauptsächlich von PHP gelebt. Ob die Sprache kaputt ist oder nicht, interessiert mich und meine Familie nicht die Bohne.

    Aber zerm, Du kannst ja gern eine Sprache entwickeln die auf jedem Webhoster läuft, "billig" ist und nicht so kaputt ist.

    Ich finde es abartig, über etwas her zu ziehen und dann selbst sich nur am Sack kratzen. Pfui teufel.
    _____________________________
    Alle Angaben ohne Gewähr :)

    On the internet you can be anything you want. It's strange that so many people choose to be stupid.


    Superbientem animus prosternet
  • damit ich auch was konstruktives beitrage, hier mal ein curl-aufruf:

    Quellcode

    1. $curl = curl_init();
    2. curl_setopt($curl, CURLOPT_URL, "domain.com/somepage.php");
    3. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    4. curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)");
    5. $pagesource = curl_exec($curl);
    6. curl_close($curl);
    _____________________________
    Alle Angaben ohne Gewähr :)

    On the internet you can be anything you want. It's strange that so many people choose to be stupid.


    Superbientem animus prosternet
  • Alex schrieb:

    Ich habe gute 10 Jahre hauptsächlich von PHP gelebt. Ob die Sprache kaputt ist oder nicht, interessiert mich und meine Familie nicht die Bohne.

    Aber zerm, Du kannst ja gern eine Sprache entwickeln die auf jedem Webhoster läuft, "billig" ist und nicht so kaputt ist.

    Ich finde es abartig, über etwas her zu ziehen und dann selbst sich nur am Sack kratzen. Pfui teufel.

    Ich verstehe nicht, was Du mir damit sagen willst. Ich brauche auch keine Sprache entwickeln, es gibt genügend Alternativen. Insbesondere bei kommerzieller Nutzung sollten die 4 Euro/Monat mehr für einen Hoster, auf dem Django oder Rails läuft bzw. sich aufsetzen lässt überhaupt kein Problem sein.

    Ich verstehe auch nicht, warum Dich das scheinbar so trifft. Natürlich kann man von PHP leben, aber das ändert doch nichts daran, dass es bessere Alternativen gibt von denen man auch leben kann, und Dir sowie Deinen Kunden das Leben einfacher machen würden?

    Kannst Du bitte etwas genauer ausführen, was Dich an meinem Post so sehr stört? Habe ich etwas falsches geschrieben?
    C++
  • @Robin: php.net/manual/de/language.variables.scope.php => Lesen, lesen, lesen, bitte. Man kann doch hier nicht jede Grundlagen erläutern ;)

    @Alex: Ich persönlich finde die Beiträge von zerm voll in Ordnung. Was ist daran denn falsch?
    Wenn du mit seiner Meinung nicht einverstanden bist, dann schreib bitte auch Argumente dazu. So geht eine vernünftige Diskussion.

    @zerm:

    Die Sprache ist einfach kaputt, designed von Leuten, die offensichtlich keine Ahnung haben - siehe mein Link. Entsprechend stösst man schnell auf Probleme. Es gibt so viele modernere Lösungen, die meiner Erfahrung noch einmal deutliche effizienter sind. Nicht nur effizienter im Betrieb, sondern auch und vorallem in der Entwicklung, wie etwa Python/Django oder Ruby/Rails.


    Nicht so kaputt würde ich PHP sehen. PHP ist schon etwas eigenartig bei == Operatoren. Bei == versucht PHP irgendwie den Typ selbst zu erkennen und castet es automatisch, was er so glaubt, was am besten in der Situation passt. Daher gibt's eben dieses === Operator. Ich nehme immer === und bin dann "safe".
    Bei 0x0 + 2 ergibt bei mir das korrekte Ergebnis. Wie du auf 4 kommst, weiss ich auch nicht. Eventuell hast du eine ältere PHP Version? Aber egal! PHP ist auf jeden Fall keine schöne Sprache, aber jedoch ein erfolgreiches Web-Plattform.

    Selbst kleinere Skripte, etwa in die Richtung der Anforderung vom OP, kann man in meinen Augen viel besser in etwa Python lösen (und so mache ich es letztendlich auch) - grade Parsing von anderen Seiten etwa geht viel bequemer, konsistenter und wartbarer in Python.


    Kann dir nur voll zustimmen. Python ist einfach wunderbar.

    Das Problem von PHP ist einfach, dass es "billig" ist. Ein PHP Projekt kann jeder auf seinem 0,99/Monat Hostern nutzen und braucht sich um nicht viel kümmern. Das zieht vorallem Neulinge an; was dazu führt, dass eine schlechte Sprache auch noch hauptsächlich von schlechten Entwicklern benutzt wird.


    Ja, genau. Aus diesem Grund bin ich damals auf PHP gekommen. Ein Kunde wollte ein kleines Webprojekt und sollte unbedingt auf einem günstigen Web-Hosting laufen können. Das war um das Jahr 2000 und da war fast nur PHP auf dem Markt. Und die Community war schon recht gross und PHP ist ziemlich leicht zu lernen, man kann sozusagen mit wenig Wissen eine dynamische Webseite bauen. Man kann einfach loslegen: Apache + php Modul und fertig. Man kann schnell eine Idee umsetzen und im Internet am Laufen bringen. Es gibt auch viele Libraries, Frameworks, etc... musst du nicht viel selbst implementieren ...

    Warum die großen Firmen trotzdem auch mal auf PHP setzen: die Community ist schon ziemlich gross, man findet recht schnell ein PHP-Entwickler, der etwas kann. Recruiting ist wesentlich einfacher.

    Wie man im WWW feststellen kann, dass PHP auch funktionieren kann ;)

    Dazu hat Fabien Potencier (PHP5 Framework Symfony Creator) auch geschrieben:
    fabien.potencier.org/article/6…uch-better-than-you-think
    Aus macfreakz wurde Apfelbeisser …
  • Apfelbeisser schrieb:

    Bei 0x0 + 2 ergibt bei mir das korrekte Ergebnis. Wie du auf 4 kommst, weiss ich auch nicht. Eventuell hast du eine ältere PHP Version? Aber egal! PHP ist auf jeden Fall keine schöne Sprache, aber jedoch ein erfolgreiches Web-Plattform.

    Der PHP Lexer ist auch broken. Es kommt drauf an, wo ein Leerzeichen ist
    0x+2 (kein Leerzeichen)
    0x +2 (Leerzeichen nur vor dem +)
    ergeben 4
    0x+ 2 (Leerzeichen nach dem +)
    0x + 2 (Leerzeichen vor und nach dem +)
    ergeben 2

    Fehlerhaft: (MacOS 10.6 build-in. Kann nachher nochmal 10.8 probieren..)
    PHP 5.3.4 (cli) (built: Dec 15 2010 12:15:07)

    Scheinbar fixed:
    PHP 5.2.10-2ubuntu6.10 with Suhosin-Patch 0.9.7 (cli)

    Keine Ahnung, der wer da durchblichen soll, bestand wohl schon sehr lange das Problem.
    C++
  • +hihi+ Gegen PHP aber für C++... Manchmal verstehe ich dich nicht, zerm. ^^

    Dennoch: im Großen und Ganzen stimme ich dir zu.

    // Nachtrag
    Den Link betrachtet und geschmunzelt.
    bugs.php.net/bug.php?id=14492
    Parse error is appearing in transliterated Hebrew T_PAAMAYIM_NEKUDOTAYIM
    BTW, there is a spelling mistake in the parse error, it should be T_PAAMAYIM_NEKUDATAYIM (in hebrew, the 'double' form is just the original noun + the 'ayim' suffix and 'nekuda' is the single form ['nekudot' is the plural form]).
    «Applejack» "Don't you use your fancy mathematics to muddle the issue!"

    Iä-86! Iä-64! Awavauatsh fthagn!

    kmr schrieb:

    Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Lucas de Vil ()

  • zerm schrieb:

    Lucas de Vil schrieb:

    +hihi+ Gegen PHP aber für C++... Manchmal verstehe ich dich nicht, zerm.

    Was hat PHP mit C++ zu tun?

    Beides ist sprachlich eine Katastrophe, beides versucht unsinnige Konzepte und fehlende Strukturen durch irgendwelche Erweiterungen zu beheben, bei beidem wurde immer mehr Pseudokompatibilität wie Objektorientierung halbherzig rangeflanscht und im Großen und Ganzen ist es ein Kreuz mit beiden arbeiten zu müssen. +scnr+
    «Applejack» "Don't you use your fancy mathematics to muddle the issue!"

    Iä-86! Iä-64! Awavauatsh fthagn!

    kmr schrieb:

    Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P
  • Lucas de Vil schrieb:

    zerm schrieb:

    Lucas de Vil schrieb:

    +hihi+ Gegen PHP aber für C++... Manchmal verstehe ich dich nicht, zerm.

    Was hat PHP mit C++ zu tun?

    Beides ist sprachlich eine Katastrophe, beides versucht unsinnige Konzepte und fehlende Strukturen durch irgendwelche Erweiterungen zu beheben, bei beidem wurde immer mehr Pseudokompatibilität wie Objektorientierung halbherzig rangeflanscht und im Großen und Ganzen ist es ein Kreuz mit beiden arbeiten zu müssen. +scnr+

    Vorsicht Lucas, das Eis ist sehr dünn, auf dem Du da wandelst...
    Abgesehen davon heisst es doch immer so schön: "Choose the right tool for the job!" Ansonsten klickst Du hier
  • Markus Müller schrieb:

    Abgesehen davon heisst es doch immer so schön: "Choose the right tool for the job!"

    Das stimmt. Und bis jetzt hatte ich Glück, dass C++ nicht 'the right tool for the job' war. ^^

    zerm
    ^^
    «Applejack» "Don't you use your fancy mathematics to muddle the issue!"

    Iä-86! Iä-64! Awavauatsh fthagn!

    kmr schrieb:

    Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P