1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | class SimpelLampje { private $enabled = false; private $voltage = "220v"; private $kleur = "groen"; public function __construct() { echo "Ik ben een simpel lampje die aan en uit kan n"; } public function AanUit() { $this->enabled = !$this->enabled; } public function Rapporteer() { $status = ($this->enabled) ? "Aan" : "Uit"; printf("Het lampje is nu %s n",$status); } } class BeterLampje extends Simpellampje { public function __construct() { parent::__construct(); echo "Maar ik kan nu meer n"; } public function dim($percentage = 100) { printf( "Het licht wordt gedimmed tot %d procent n",$percentage); } } $simpel = new SimpelLampje; $simpel->Rapporteer(); $beter = new BeterLampje; $beter->AanUit(); $beter->Rapporteer(); $beter->dim(50); ?> |
1 2 3 4 5 6 | Het lampje is nu Uit Ik ben een simpel lampje die aan en uit kan Maar ik kan nu meer Het lampje is nu Aan Het licht wordt gedimmed tot 50 procent |
Halleluja!quote:Op dinsdag 30 januari 2007 13:40 schreef smesjz het volgende:
Als je echt met OO aan de slag wil kan je eens kijken naar Rubyonrails.
Iemand hier nog sterke ideeën over?quote:Op maandag 29 januari 2007 18:33 schreef keeper het volgende:
Ik probeer een pagina op een website binnen te halen middels file_get_contents(). Gaat allemaal goed, alleen omdat dit een beveiligde pagina is (joomla-cms) krijg ik dan niet de hele inhoud van de pagina te zien, maar de mededeling "je bent niet gemachtigd, etc". Logisch, want ik ben niet ingelogd op die site.
Okay, cookies meesturen. Maar hoe werkt dit (of specifieker, hoe werkt dit bij een Joomla pagina)? Welke cookies zijn belangrijk? Ik heb nu deze code:
[ code verwijderd ]
Waarbij die laatste waarde in de cookie (419..) een 32 tekens lange Hex-waarde is met als waarde (532...) een 67 tekens lange hex-waarde. Als ik dit zo stuur krijg ik een error "Redirection limit reached". Kan ik daaruit concluderen dat de login op zich werkt, alleen dat ik word teruggestuurd naar de pagina en dat er daar wat mis gaat (ik draai dat script vanaf www.mijnsite.nl/script.php)? Of gaat die login sowieso niet goed? Als ik die laatste waarde met al die hex-shit weglaat, krijg ik gewoon de "niet gemachtigd deze pagina te bekijken error".
Weet iemand of dit gaat werken? Of kijkt Joomla naar meer dingen tijdens het inloggen, zoals IP waar het vandaan komt of User-Agent? En is dat dan nog ergens mee te nemen?
disclaimer: het gaat om het automatisch inlezen van een grote pagina met data waar ik wel toegang tot heb via de browser, maar dus niet via een script
Hmmm, dit wordt me al duidelijker dan de over bekende 'auto' en 'raceauto' klasses die ik altijd als voorbeeld zie.quote:Op dinsdag 30 januari 2007 13:40 schreef smesjz het volgende:
Bij PHP kan je natuurlijk een authenticatie object maken voor alles wat daar mee te maken heeft er in mikken. Idem voor database interactie.
Maar het vereist denk ik een andere denkwijze. Idem met een MVC benadering, je kan natuurlijk dbase queries in een template stoppen omdat het zo makkelijk is. Als je echt met OO aan de slag wil kan je eens kijken naar Rubyonrails.
Bovendien kan je met OO ook allerlei handige methodes gebruiken zoals UML voordat je meteen gaat coden.
Simpel voorbeeldje van wat OO:
[ code verwijderd ]
Dit geeft ->
[ code verwijderd ]
Hoewel erg triviaal, geeft het toch al een beetje de basics van OO weer. Zo hoef je gedeelde functionaliteit (methods, properties) zoals de AanUit en Rapporteer functie maar 1 keer te definieeren.
Al die basisfunctionaliteit erft de verbetere lamp automatisch.
En zo kan je natuurlijk ook de AanUit method in BeterLampje opnieuw schrijven zodat ie niet alleen aan of uit kan zijn, maar ook gedimd kan zijn.
Nee, dat zou het wel erg onveilig maken hequote:Op dinsdag 30 januari 2007 14:10 schreef keeper het volgende:
[..]
Iemand hier nog sterke ideeën over?
Of versimpeld: hoe is het mogelijk om via een script te faken dat je bent ingelogd op een site, zodat je gegevens die achter die login staan automatisch binnen kan trekken?
Het kan gerust hoor, je hebt alleen wat verstand nodig van het HTTP protocol (en verder is CURL dan een goede optie).quote:Op dinsdag 30 januari 2007 14:12 schreef Swetsenegger het volgende:
[..]
Nee, dat zou het wel erg onveilig maken he
Als je weet hoe de login werkt (sessie) kan je die zetten natuurlijk.
Dat lijkt me wel wat. Zelf ben ik nog een enorme prutser, dus tuts schrijven lijkt me nog geen goede optiequote:Op dinsdag 30 januari 2007 14:11 schreef Swetsenegger het volgende:
[..]
Hmmm, dit wordt me al duidelijker dan de over bekende 'auto' en 'raceauto' klasses die ik altijd als voorbeeld zie.
Heb je geen zin om eens een tut te schrijven voor dit topic?
Sowieso, is het niet voor ons allemaal eens een goed idee om tutorials te maken. Ik kan me voorstellen dat prutsers zoals mijzelf de wat simpelere tuts schrijven, (database results over meerdere pages spreiden enzo) en de goden schrijven dan OO tuts.
Op die manier krijg je dan in php voor dummies een mooie leercurve. Want een goede tut linken we natuurlijk in de OP.
Hoezo kan het gerust als je niet weet welke sessie info ik set en controleer bij de login?quote:Op dinsdag 30 januari 2007 14:13 schreef JeRa het volgende:
[..]
Het kan gerust hoor, je hebt alleen wat verstand nodig van het HTTP protocol (en verder is CURL dan een goede optie).
uhm? Hoezo werkt now() niet? Ik weet natuurlijk niet je db in elkaar zit maar zoiets moet wel werken:quote:Op dinsdag 30 januari 2007 14:12 schreef Sjoe538 het volgende:
Hey mensen, ff een kort vraagje regarding SQL
Ik heb een tabel waar mensen staan ingecheckt om te vertrekken met een vlucht, dit in 2006-10-30 13:30:00.000
versie. Nu wil ik een passagier zoeken die vandaag vertrekt, vandaag veranderd dus elke dag.. hoe los ik dit op? now() statement werkt niet in query analyzer of now(day)..
1 2 3 | FROM CheckedIN WHERE DepartDate = Now() |
Als ik een login bij jou heb en kan inloggen, dan hoef ik (vrijwel altijd) alleen maar rekening te houden met:quote:Op dinsdag 30 januari 2007 14:27 schreef Swetsenegger het volgende:
[..]
Hoezo kan het gerust als je niet weet welke sessie info ik set en controleer bij de login?
quote:Op dinsdag 30 januari 2007 14:28 schreef Sjoe538 het volgende:
Hallo,
Ik zit met het volgende probleem, ik wil een passagier die is ingecheckt vergelijken met een vlucht zijn vertrektijd. Maar de query die ik heb gemaakt moet het dus voor 'vandaag' opgeven, oftewel, alle passagiers die vandaag vertrekken. Maar dit kan dus elke dag veranderen.. Hoe los ik dit op? Met day vergelijk ik alleen de dag.. dus hoe pas ik de now() functie toe?
1
2WHERE date(vlucht.vertrektijd) =
day(passagier.inchecktijdstip)
Dan ga je er dus al vanuit dat je kan inloggenquote:Op dinsdag 30 januari 2007 14:30 schreef JeRa het volgende:
[..]
Als ik een login bij jou heb en kan inloggen, dan hoef ik (vrijwel altijd) alleen maar rekening te houden met:
- het IP-adres waarvan ik communiceer
- de HTTP-headers die ik meestuur (User-Agent, Referer, etc)
Door een beetje te testen kun je er vrij simpel achterkomen waar jij op controleert
Ja...dat was het hele idee toch? (zie de post van keeper)quote:Op dinsdag 30 januari 2007 14:35 schreef Swetsenegger het volgende:
[..]
Dan ga je er dus al vanuit dat je kan inloggen
Is het veld dat je controleerd wel een DATETIME veld of iets in die richting?quote:Op dinsdag 30 januari 2007 14:12 schreef Sjoe538 het volgende:
Hey mensen, ff een kort vraagje regarding SQL
Ik heb een tabel waar mensen staan ingecheckt om te vertrekken met een vlucht, dit in 2006-10-30 13:30:00.000
versie. Nu wil ik een passagier zoeken die vandaag vertrekt, vandaag veranderd dus elke dag.. hoe los ik dit op? now() statement werkt niet in query analyzer of now(day)..
Daarin werd mij niet duidelijk dat hij een login hadquote:Op dinsdag 30 januari 2007 14:36 schreef JeRa het volgende:
[..]
Ja...dat was het hele idee toch? (zie de post van keeper)
Ik ga ff offtopic, maar puik idee (pleur het op de wiki, zo zijn er meerdere onderwerpen - die niks met dit topic te maken hebben) waar we FAQ's / HOWTO's / tutorials voor kunnen gebruiken/aanmaken.quote:Op dinsdag 30 januari 2007 14:11 schreef Swetsenegger het volgende:
Sowieso, is het niet voor ons allemaal eens een goed idee om tutorials te maken. Ik kan me voorstellen dat prutsers zoals mijzelf de wat simpelere tuts schrijven, (database results over meerdere pages spreiden enzo) en de goden schrijven dan OO tuts.
Mij welquote:Op dinsdag 30 januari 2007 14:39 schreef Swetsenegger het volgende:
[..]
Daarin werd mij niet duidelijk dat hij een login had
quote:Ik probeer een pagina op een website binnen te halen middels file_get_contents(). Gaat allemaal goed, alleen omdat dit een beveiligde pagina is (joomla-cms) krijg ik dan niet de hele inhoud van de pagina te zien, maar de mededeling "je bent niet gemachtigd, etc". Logisch, want ik ben niet ingelogd op die site.
(...)
disclaimer: het gaat om het automatisch inlezen van een grote pagina met data waar ik wel toegang tot heb via de browser, maar dus niet via een script
Doe de groeten aan Thijs als je hem ziet.quote:Op dinsdag 30 januari 2007 13:59 schreef CraZaay het volgende:
Halleluja!Wij doen echt alles met Ruby on Rails, tenzij een opdrachtgever expliciet PHP of Java wil.
Als er een bug in RoR code zit, wordt dat meestal al heel snel opgemerkt omdat veel mensen het gebruiken. Ik heb wel eens last gehad van een memory leak in RoR waardoor een app ontzettend traag was als ie in debug mode wordt gedraaid. Dan is die extra laag wel een nadeel.quote:Op dinsdag 30 januari 2007 14:11 schreef JeRa het volgende:
Ruby on Rails en alle andere implementaties van een geautomatiseerd MVC-concept zullen bij mij nooit de voorkeur krijgen. Als er iets is wat ik haat dan is het wel code obfuscatie door generatie. Als ik ooit een performanceprobleem in een applicatie heb is het nu ontzettend gemakkelijk in mijn MVC-model om het probleem te traceren en te debuggen, terwijl bij RoR een bugje in RoR de oorzaak kan zijn. Tuurlijk kan het in PHP ook, maar bij RoR heb je er nog een extra laag bovenop.
Verder is Ruby echt een kotstaal.[/mening]
quote:Op dinsdag 30 januari 2007 14:12 schreef Sjoe538 het volgende:
Hey mensen, ff een kort vraagje regarding SQL
Ik heb een tabel waar mensen staan ingecheckt om te vertrekken met een vlucht, dit in 2006-10-30 13:30:00.000
versie. Nu wil ik een passagier zoeken die vandaag vertrekt, vandaag veranderd dus elke dag.. hoe los ik dit op? now() statement werkt niet in query analyzer of now(day)..
Een tutorial schrijven in het Nederlands kan ik wel doen, maar ik heb zo het gevoel dat zoiets er al is.quote:Op dinsdag 30 januari 2007 14:11 schreef Swetsenegger het volgende:
Heb je geen zin om eens een tut te schrijven voor dit topic?
Sowieso, is het niet voor ons allemaal eens een goed idee om tutorials te maken. Ik kan me voorstellen dat prutsers zoals mijzelf de wat simpelere tuts schrijven, (database results over meerdere pages spreiden enzo) en de goden schrijven dan OO tuts.
Op die manier krijg je dan in php voor dummies een mooie leercurve. Want een goede tut linken we natuurlijk in de OP.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |