Archief - PHP, welk boek?

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

SultanJoe

Legacy Member
Ik wil een site maken met functionaliteiten zoals login, online shop, uploaden van files...
Hier wil ik PHP voor gebruiken en ik vroeg mij af welk boek ik best zou aanschaffen om vanaf niets in een paar weken tijd deze site te kunnen maken.

Ik was aan het twijfelen tussen deze twee:
Amazon.com: Learning PHP, MySQL, and JavaScript: A Step-By-Step Guide to Creating Dynamic Websites (Animal Guide) (9780596157135): Robin Nixon: Books

Amazon.com: PHP and MySQL Web Development (4th Edition) (9780672329166): Luke Welling, Laura Thomson: Books


Andere suggesties zijn natuurlijk welkom ;).

dJeez

Legacy Member
Als je nog nooit 1 letter code hebt geschreven zal je niet "op enkele weken tijd" kunnen ontwikkelen wat je daar neerpent. Er is echter een zeer voor de hand liggend alternatief : gebruik nu een CMS dat aankan wat je beschrijft (Drupal met wat modules kan het perfect, maar er zijn nog genoeg andere opties), en start voorlopig zo.

Leer dan gaandeweg en op je eigen ritme programmeren (ik zou dan aanraden van gebruik te maken van een PHP framework - persoonlijk kan ik het Zend framework aanraden), en dàn kan je gaan overwegen van je eigen systeem te gaan ontwikkelen (dat zal echter eerder een proces van maanden zijn). Je leert nl. ook eerst kruipen, dan stappen en op 't einde pas lopen...

SultanJoe

Legacy Member
Dus je raad aan om uiteindelijk een framework te gebruiken?

Als je met OO object-oriented bedoelt, ik kan goed Java dus het leerproces zal vlug gaan aangezien het systeem het zelfde is.

En welk boek zou je aanraden?

adrianhates

Legacy Member
SultanJoe zei:
Dus je raad aan om uiteindelijk een framework te gebruiken?

Als je met OO object-oriented bedoelt, ik kan goed Java dus het leerproces zal vlug gaan aangezien het systeem het zelfde is.

En welk boek zou je aanraden?

leer dus eerst gewoon gestructureerd programmeren zodat je de syntax e.d. voldoende in de knieën hebt zitten.

Dan kan je misschien hier mee beginnen:
Amazon.com: PHP Objects, Patterns, and Practice, Second Edition (9781590599099): Matt Zandstra: Books

Fromzon

Legacy Member
Mja zoals de anderen reeds hebben gezegd, dat zal niet lukken. Je enige hoop ( om het in die tijd af te krijgen ) is het gebruik van een CMS.

Maar, ikzelf been geen grote fan van open-source CMS systemen. Ik ben iemand die van een blanco-pagina is begonnen en nooit gebruik heeft gemaakt van downloadbare CMS systemen.

Ik vind de charme van het PHP'en net dat feit dat je vanuit een blanco pagina begint, en met slechts een paar lijnen zie je al resultaat op het scherm.
PHP:
<?php echo "hello world"; ?>

Ik zou zegge, begin op die manier, op eigen tempo, maak iets simpel dat geen nut hoeft te hebben, en bouw verder.
In 7 jaar PHP'en heb ik mijn eigen PHP-framework ontwikkeld waar ik eender welke PHP-class dat ik download aan kan hangen, met een degelijk Ajax systeem erachter, de code is (naar mijn mening) flexibeler dan eender welk "publiek" framework en ik vind het nog altijd even leuk als in het begin.

Het is maar wat je het meeste interesseert denk ik.


En waar ik het geleerd heb? Ik heb ooit slechts 1 PHP-boek gebruikt, "PHP in 24 hours".
Daar zat toen alle basis in en dan ben je vertrokken. Dat is al wel x aantal jaren geleden, ik weet niet of er jaarlijks een boek van uitkomt dat up-to-date blijft... Maar om de basis te leren zijn zo'n "...in 24 hours..." of "...for dummies..." boeken wel het beste.
Voor specifiekere zaken heb je google met online tutorials.


adrianhates zei:
leer dus eerst gewoon gestructureerd programmeren zodat je de syntax e.d. voldoende in de knieën hebt zitten.

Dit is ook een belangrijk punt. Beginnen met gestructureerd programmeren en daarna pas uw hoofd buigen over OOP.
Als een bezoeker een PHP pagina bezoekt dan wordt die pagina ook uitgevoerd van eerste tot laatste lijn, wat op zich volgens "gestructureerd programmeren" verloopt. Voor PHP is het belangrijk om een gezonde mix te gebruiken tussen gestructureerd en OOP. Dus je moet beide manieren leren kennen beginnend bij het gestructureerd programmeren.

SultanJoe

Legacy Member
Een paar weken lijkt inderdaad niet echt realistisch, maar mijn bedoeling is niet dat het dan al af is, maar dat ik een goeie basis heb om mee verder te werken. De kennis die ik heb van HTML, CSS en Javascript zullen daar zeker bij helpen, dus denk ik dat een paar weken realistisch is.

Een CMS wil ik liever niet gebruiken, aangezien ik mijn site écht wil kennen en een grote flexibiliteit wil. Ik ben bang dat ik met een CMS beperkt ga worden.

Ik denk dat ik het boek van O'Reilly ga nemen, hierboven gepost, in het ander boek zit er meer in over security met logins en e-market enzo, wat wel erg handig zou kunnen zijn, maar het boek van O'Reilly lijkt makkelijker leesbaar en uitnodigender.

Bedankt voor jullie tips!

Drone

Legacy Member
Python is ook gemakkelijk een heeft veel micro-frameworks waar je direct mee van start kan gaan. Bijvoorbeeld: Welcome | Flask (A Python Microframework). Documentatie van Flask is ook zeer goed en het draait op werkzeug wat debugging super gemakkelijk maakt.

Code:
from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

@app.rout("/about")
def about():
    return "about me"

if __name__ == "__main__":
    app.run()

Je kan dan ook een commandline servertje gebruiken en dan moet je niet zitten prutsen met Appache of IIS. Als je dan later een hosting zoekt kan je gebruik maken van Google App Engine dit is tot een bepaald verbruik gratis.

Je leer ook een programmeertaal die je later ook voor andere dingen kan gebruiken. Persoonlijk ben ik ook meer fan van de Python syntax.

Om Python te leren kan ik het volgende aanraden: Google's Python Class - Google's Python Class - Google Code. Twee dagen video cursus inclusief huiswerk.

Er zijn nog andere opties buiten PHP en Python zoals bijvoorbeeld Sinatra en Ruby.

SultanJoe

Legacy Member
[drone]-[1.05];14251105 zei:
Python is ook gemakkelijk een heeft veel micro-frameworks waar je direct mee van start kan gaan. Bijvoorbeeld: Welcome | Flask (A Python Microframework). Documentatie van Flask is ook zeer goed en het draait op werkzeug wat debugging super gemakkelijk maakt.

Code

Je kan dan ook een commandline servertje gebruiken en dan moet je niet zitten prutsen met Appache of IIS. Als je dan later een hosting zoekt kan je gebruik maken van Google App Engine dit is tot een bepaald verbruik gratis.

Je leer ook een programmeertaal die je later ook voor andere dingen kan gebruiken. Persoonlijk ben ik ook meer fan van de Python syntax.

Om Python te leren kan ik het volgende aanraden: Google's Python Class - Google's Python Class - Google Code. Twee dagen video cursus inclusief huiswerk.

Er zijn nog andere opties buiten PHP en Python zoals bijvoorbeeld Sinatra en Ruby.


Ik heb een paar jaar geleden een beetje zitten prutsen met Python, en ik vond dat een leuke taal en heel clean.
Maar is het voor mij niet makkelijker om het met PHP te doen omdat het populairder is, en er dus veel meer tutorials en dergelijke online beschikbaar zijn?
En kan je alles wat je met PHP kan doen ook met Python doen?

Tnx ;)

Fromzon

Legacy Member
SultanJoe zei:
Ik heb een paar jaar geleden een beetje zitten prutsen met Python, en ik vond dat een leuke taal en heel clean.
Maar is het voor mij niet makkelijker om het met PHP te doen omdat het populairder is, en er dus veel meer tutorials en dergelijke online beschikbaar zijn?
En kan je alles wat je met PHP kan doen ook met Python doen?

Tnx ;)

Ikzelf heb geen enkele ervaring met Python, maar ik weet wel dat er voor PHP gigantisch veel classes beschikbaar zijn die je eenvoudig kan implementeren. En dat aantal zal waarschijnlijk wel een pak minder zijn bij Python ( en dat zeg ik zonder te weten of Python een OOP taal is of niet :p )

Check dit misschien ff, dit zijn alle overeenkomsten en verschillen tussen PHP en Python:
http://wiki.python.org/moin/PythonVsPhp

Drone

Legacy Member
SultanJoe zei:
Ik heb een paar jaar geleden een beetje zitten prutsen met Python, en ik vond dat een leuke taal en heel clean.
Maar is het voor mij niet makkelijker om het met PHP te doen omdat het populairder is, en er dus veel meer tutorials en dergelijke online beschikbaar zijn?
En kan je alles wat je met PHP kan doen ook met Python doen?

Tnx ;)

En meer vermits Python ook voor gewoon toepassingen kan gebruikt worden.

Fans of Python use the phrase "batteries included" to describe the standard library, which covers everything from asynchronous processing to zip files.

Fromzon zei:
Ikzelf heb geen enkele ervaring met Python, maar ik weet wel dat er voor PHP gigantisch veel classes beschikbaar zijn die je eenvoudig kan implementeren. En dat aantal zal waarschijnlijk wel een pak minder zijn bij Python ( en dat zeg ik zonder te weten of Python een OOP taal is of niet :p )

Check dit misschien ff, dit zijn alle overeenkomsten en verschillen tussen PHP en Python:
PythonVsPhp - PythonInfo Wiki

Python bestaat al sinds 1991 dus voor elk probleem is er wel een module. Het is ook een volwaardige OOP taal. Mensen die met Python werken verwachten ook dat alles volgende de 'regels' worden gedaan. Je moet maar eens de zen of Python googlen.

Dingen zoals: 'There should be one-- and preferably only one --obvious way to do it.' spreken mij aan.

Python is ook strongly typed en er zijn geen verassingen zoals bijvoorbeeld:

Code:
nu = 0
st = 'hello'

no + st

Dit zal een error geven vermits je integers en strings niet kan optellen. Voor beginners vind ik dit veel duidelijker dan dat er automatisch conversions gebeuren.

Nu als je een populaire taal wilt ga dan voor PHP als je zoals je zegt een duidelijke cleane taal wilt bekijk Python dan eens.

SultanJoe

Legacy Member
Fromzon zei:
Ikzelf heb geen enkele ervaring met Python, maar ik weet wel dat er voor PHP gigantisch veel classes beschikbaar zijn die je eenvoudig kan implementeren. En dat aantal zal waarschijnlijk wel een pak minder zijn bij Python ( en dat zeg ik zonder te weten of Python een OOP taal is of niet :p )

Check dit misschien ff, dit zijn alle overeenkomsten en verschillen tussen PHP en Python:
PythonVsPhp - PythonInfo Wiki

Ik wil niet per se de populairste taal gebruiken.
Ik wil de taal gebruiken die voor mijn applicatie het best is, en waar ik het meest aan heb op lange termijn (buiten dit project).
Zal ik met Python, aangezien het ook een gewone "desktop"-programeertaal is zoals Java, niet veel leren wat ik niet nodig ga hebben?

SultanJoe

Legacy Member
Loop ik het risico dat mijn site gehackt wordt als ik mijn code zelf schrijf?
Is een CMS in dat opzicht beter?

TheBram

Legacy Member
Dag allen, het project dat SultanJoe wil verwezenlijken is een samenwerking tussen ons beiden. Hij startte deze topic na onze discussie over cms vs zelf code schrijven. Ik haalde haalde als voornaamste argumenten aan:
1) Makkelijker
2) Veiliger

Nu, dat het makkelijker is lijkt me logisch (tot op een bepaald niveau waarschijnlijk). Over de beveiliging wil ik natuurlijk uitsluitsel hebben want dit is een relatief ononderbouwde mening. Ons project bestaat onder andere uit een e-commerce gedeelte en gehackt worden is het laatste dat we dan willen natuurlijk. Dus dit is voor mij wel zeer belangrijk natuurlijk: tot op welk niveau kan een site beveiligd worden als ze door 1 of 2 personen zelf gecode is ipv gebruik te hebben gemaakt van een gevestigde cms zoals Drupal (cms van mijn voorkeur).

dJeez

Legacy Member
SultanJoe zei:
Loop ik het risico dat mijn site gehackt wordt als ik mijn code zelf schrijf?
Is een CMS in dat opzicht beter?
1. Als je de nodige kennis ontbreekt - wat voor jou wel het geval is (geen kritiek, juist een vaststelling) - dan kan die potentieel gevaarlijker zijn. Je aan wat basisregels houden (input checken, prepared sql statements gebruiken, enz.) kan al veel risico's wegwerken. Het hangt ook van het profiel van je site zelf af uiteraard, maar probeer de impact toch maar niet te onderschatten...

De meest voorkomende problemen (voor 2010) zijn de volgende : Category:OWASP Top Ten Project - OWASP. Op basis van die lijst kan je dan gaan leren hoe ze te voorkomen.

Naast die problemen zijn er ook problemen mogelijk in de implementatie, zoals vb. in een webshop prijzen doorgeven vanop de front-end en die zonder enige vorm van controle gebruiken in de back-end (heb ik ooit gezien, da's dus echt wel het domste dat je kan doen). Die vermijden vereist ervaring, daar bestaan geen handboeken voor :p.

2. Niet noodzakelijk. Het voordeel van populaire CMSen is net dat er enorm veel mensen zijn die die controleren (wat Drupal betreft zeker de core, 3rd party modules worden doorgaans minder gecontroleerd - populaire modules echter wel - hou daar rekening mee bij je keuze van modules), maar als bijkomend nadeel heeft dat dan weer dat ze ook een groter doelwit zijn voor black hats. Kijk gewoon of het CMS van je keuze een security mailing list (of iets dergelijks) heeft en volg die op en installeer sowieso direct elke security update die er is. Kijk misschien ook eens de geschiedenis van het project na mbt security op vb. Secunia (Advisories by Product - Advisories - Community).

SultanJoe

Legacy Member
dJeez zei:
1. Als je de nodige kennis ontbreekt - wat voor jou wel het geval is (geen kritiek, juist een vaststelling) - dan kan die potentieel gevaarlijker zijn. Je aan wat basisregels houden (input checken, prepared sql statements gebruiken, enz.) kan al veel risico's wegwerken. Het hangt ook van het profiel van je site zelf af uiteraard, maar probeer de impact toch maar niet te onderschatten...

De meest voorkomende problemen (voor 2010) zijn de volgende : Category:OWASP Top Ten Project - OWASP. Op basis van die lijst kan je dan gaan leren hoe ze te voorkomen.

Naast die problemen zijn er ook problemen mogelijk in de implementatie, zoals vb. in een webshop prijzen doorgeven vanop de front-end en die zonder enige vorm van controle gebruiken in de back-end (heb ik ooit gezien, da's dus echt wel het domste dat je kan doen). Die vermijden vereist ervaring, daar bestaan geen handboeken voor :p.

2. Niet noodzakelijk. Het voordeel van populaire CMSen is net dat er enorm veel mensen zijn die die controleren (wat Drupal betreft zeker de core, 3rd party modules worden doorgaans minder gecontroleerd - populaire modules echter wel - hou daar rekening mee bij je keuze van modules), maar als bijkomend nadeel heeft dat dan weer dat ze ook een groter doelwit zijn voor black hats. Kijk gewoon of het CMS van je keuze een security mailing list (of iets dergelijks) heeft en volg die op en installeer sowieso direct elke security update die er is. Kijk misschien ook eens de geschiedenis van het project na mbt security op vb. Secunia (Advisories by Product - Advisories - Community).


Ok, ik denk dat het dan eerst zonder CMS ga proberen. Enkel en alleen als ik voel dat de site genoeg beveiligd is zet ik hem online. En anders switch ik naar een CMS, zou een beetje tijdverlies zijn, maar ondertussen heb ik wat PHP geleerd :).

Tnx!

goldsage

Legacy Member
Ik heb PHP for Dumies. Echt een super boek. Er is geen enkele kennis vereist van PHP om aan dit boek te starten. Je hebt wel een beetje kennis nodig van Html en css.

Echt een aanrader voor alle php startende.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan