Gå til innhold

PHP·pub - Programming With Attitude - and beer


Anbefalte innlegg

Videoannonse
Annonse

:wallbash: Akkurat nå har jeg absolutt ingen problemer med å skjønne at næringslivet skyr PHP og opensource. Har for tiden hovedprosjekt, og oppgaven går ut på å lage en modul i CMSet XOOPS. At jeg har valgt den oppgaven angrerer jeg grundig på akkurat nå. Dokumentasjonen av XOOPS er hårreisende elendig, ja jeg vil nesten si komplett fraværende. Jeg har enda tilgode å se kommentarer i koden utover et svakt og noget utdatert forsøk på å lage noe som minner om PHPDoc og det eksisterer knapt noe om klassene noe sted. Akkurat nå trøbler jeg skrekkelig med å skjønne hvordan template-systemet er lagt opp. Etter hva jeg kan se er et en eller annen sterkt modifisert versjon av Smarty. Det er nummeret før jeg i ren desperasjon mekker kjapt en egen template-motor. Flere forelesere osv. jeg har snakket med sier dette er helt typisk opensource. Er det rart folk og nærlingsliv nøler med å nærme seg slike korthus?

 

Jaja, om noen tilfeldigvis skulle kjenne til noe som faktisk minner om dokumentasjon av XOOPS så sifra.

 

Moralen av alt det her? Kode bør i aller høyeste grad kommenteres og dokumenteres. Spesielt hvis det er mening at noen skal lage plugins eller moduler til systemet.

 

Edit: Ja, og jeg nevnte at det flere steder i dokumentasjonen står linjer som vitner om mildes talt elendig kunnskap om PHP? Veldig tillitsvekkende når man finner kommentarer ala. "Jeg tror dette skjer her og her".

Endret av Ernie
Lenke til kommentar

Kan noen forklare meg hvordan ex1 og nederste linje på ex2 fungerer? hva gjøre blant annet ?-tegnet ?

 

ex1

PHP

$bgc = ($i++ & 1) ? $bgc1 : $bgc2;

 

ex2

PHP

$filetype = $_FILES['upfile']['type'];

$mimetypes = array("image/jpg", "image/jpeg", "image/pjpg", "image/pjpeg", "image/png", "image/bmp", "image/gif");

$valid_type = in_array($filetype, $mimetypes) ? true: false;

Lenke til kommentar

'cond ? a : b' evaluerer a hvis cond er sann, b hvis cond er usann

 

& gjør en bit-vis AND mellom $i++ og 1, for eksempel

$i++: 000 0111
1   : 000 0001
  &  -----------
      000 0001

som i dette tilfellet vil evaluere til sant.

 

Den nederste linjen i ex2 returner true dersom in_array returnerer true og false dersom in_array returnerer false. Dette er forøvrig unødvendig..

Lenke til kommentar
:wallbash: Akkurat nå har jeg absolutt ingen problemer med å skjønne at næringslivet skyr PHP og opensource. Har for tiden hovedprosjekt, og oppgaven går ut på å lage en modul i CMSet XOOPS.

8007549[/snapback]

Haha... :p

 

All PHP og åpen kildekode er som XOOPS! Hahahaha...

 

Tabbe at du ikke valgte deg Wordpress.

 

XOOPS er PHP, XOOPS er opensource, XOOPS er dårlig skrevet, følgelig |- all PHP og opensource er dårlig skrevet.

 

Alle med grunnfag logikk kan se om de finner en liten feil i ressonementet.

Lenke til kommentar
:wallbash: Akkurat nå har jeg absolutt ingen problemer med å skjønne at næringslivet skyr PHP og opensource. Har for tiden hovedprosjekt, og oppgaven går ut på å lage en modul i CMSet XOOPS.

8007549[/snapback]

Haha... :p

 

All PHP og åpen kildekode er som XOOPS! Hahahaha...

 

Tabbe at du ikke valgte deg Wordpress.

 

XOOPS er PHP, XOOPS er opensource, XOOPS er dårlig skrevet, følgelig |- all PHP og opensource er dårlig skrevet.

 

Alle med grunnfag logikk kan se om de finner en liten feil i ressonementet.

8030892[/snapback]

 

Men det er en kjensgjerning av Opensource-applikasjoner har en lei tendens til å være dårlig dokumentert, rett og slett fordi det er kjedelig og tidkrevende å skrive dokumentasjon, samtidig som det ikke er en umiddelbar belønning for det. Resonnementet er gyldig det, de aller fleste php-applikasjoner jeg har sett (som da er opensource også) er minimalt dokumentert, og (dessverre) ofte veldig dårlig kodet.

 

Og ja, wordpress er noe dritt, det óg. :)

Lenke til kommentar
:wallbash: Akkurat nå har jeg absolutt ingen problemer med å skjønne at næringslivet skyr PHP og opensource. Har for tiden hovedprosjekt, og oppgaven går ut på å lage en modul i CMSet XOOPS.

8007549[/snapback]

Haha... :p

 

All PHP og åpen kildekode er som XOOPS! Hahahaha...

 

Tabbe at du ikke valgte deg Wordpress.

 

XOOPS er PHP, XOOPS er opensource, XOOPS er dårlig skrevet, følgelig |- all PHP og opensource er dårlig skrevet.

 

Alle med grunnfag logikk kan se om de finner en liten feil i ressonementet.

8030892[/snapback]

Altså, opensource er godt kjent for å være generelt dårlig dokumentert. Det finnes selvsagt mange hederlige unntak, men det er nå engang slik ryktet er og det er langt fra ubegrunnte. At XOOPS er så skremmende dårlig dokumentert underbygger dette ryktet og hjelper på ingen måte noen annet enn å skremme vekk personer og firma.

 

Forøvrig er oppdragsgiver rimelig bestemt på at det skal være modul i XOOPS. Etter min mening er bare ideen om å bruke et CMS til å lage en større applikasjon er fullstendig idiotisk slik eksisterende CMS-løsninger er bygget opp. Skulle jeg selv valgt noe hadde det sannsynligvis blitt noe i rettning Zend Framework som virker å være solid dokumentert, eller rett og slett bygge alt fra grunnen av og opp.

 

Et lite eksempel på "dokumentasjon" fra kildekoden i XOOPS:

PHP

/**

 * perform a query

 * 

 * This method is empty and does nothing! It should therefore only be

 * used if nothing is exactly what you want done! ;-)

 * 

 * @param string $sql a valid MySQL query

 * @param int $limit number of records to return

 * @param int $start offset of first record to return

 * 

 * @abstract

 */

function query($sql, $limit=0, $start=0)

{

 

}

Sikkert morsomt for noen, men dette er bare ren irritasjon for de som faktisk skal utvikle noe. Dessuten gir det ikke akkurat noe seriøst inntrykk.
Lenke til kommentar
Tom funksjon?! Den var ny...

8032123[/snapback]

 

I grunnen ikke, uten at jeg kjenner til klassen denne ligger i. Men la oss si at en har en abstrakt superklasse som heter dblayer og i dblayer skal det være en funksjon for spørringer. Spørringer har ulik syntaks alt etter hvilket dbms som brukes. Når en subklasse utvider dblayer skal den implementere query-metoden fra superklassen. Det er forutsetningen for å få lov å utvide dblayer.

 

Men at den skal ha metodekropp var nytt for meg. Jeg ville skrevet den slik:

abstract function query($query, $limit=0, $start=0);

Lenke til kommentar
Og ja, wordpress er noe dritt, det óg. :)

8030935[/snapback]

Du kan jo prøve å skrive en "modul" (plugin) til Wordpress og se hvor lang tid du bruker på å finne ut av ting.

8031015[/snapback]

 

 

Er vel ikke Plugin-systemet til Wordpress som er ille, heller selve koden og dokumentasjonen...

8031202[/snapback]

 

:yes:

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...