Heeft er iemand al PHP 6 geprobeerd?
Het is dan wel nog steeds erg pre-alpha, maar misschien leuk om eens mee te stoeien? Het ziet er best veelbelovend uit en het een en ander is al geimplementeerd.

http://snaps.php.net/
http://oss.backendmedia.com/PhP60
mysqli staat voor MySQL Improvmend en wie alles wil weten over de wijzigen, verbeteringen en wat je er nog meer mee kan kan je in het boek Upgrading to PHP 5 terecht.

Maar ik vrees dat providers erg terughoudend zullen zijn met PHP 6 omdat schat ik 70% van de doe-het-zelf-bouw-scripts niet meer zal werken. En de hostingprovider dan de schuld krijgt.
Waarom schat je dat 70% van de doe-het-zelf-bouw-scripts niet meer zal werken?
Nouja, zolang de syntax van mysqli_ een beetje backwards compatible is is het toch niet te ingewikkeld om switch te bouwen dat deze de mysql_ functies vervangt?

Of gewoon een replace functie in een willekeurige tekst editor zou de truc ook moeten doen.
Gewoon mysql_ vervangen door mysqli_
Dan valt het toch wel....??
Vooral als je een klasse hebt.
Misschien is het dan gewoon eens tijd voor iedereen om de PHP Pear DB functie te gaan gebruiken. Kan je zonder sweat ook overstappen naar Postgresql of zelfs MS sql.
Don slag schreef op 23.08.2006 00:47
Gewoon mysql_ vervangen door mysqli_
Dan valt het toch wel....??
Vooral als je een klasse hebt.


zo werkt het dus niet, verbinden naar je correcte database moet nu verplicht per query, en dan ook eerst de connectie en dan de query. voor de rest zijn er nog een aantal dingen waar je nat op gaat met mysql -> mysqli zo veranderen

Wat ook kan is dat je beide toestaat. Truuk is dan ook om het óf het een of het ander te laten zijn en niet door elkaar laten lopen (plus dat dat dan weer niet werkt)

Hier op de servers ondertussen beide naast elkaar lopen dus je kan zelf kiezen of je mysqli of mysql wil gebruiken, werkt prima!
Don slag schreef op 23.08.2006 00:33
Waarom schat je dat 70% van de doe-het-zelf-bouw-scripts niet meer zal werken?

omdat _iedereen_ van die stomme magic_quotes_gpc() uitgaat. Gelukkig bestaan die krengen niet meer in php6 dus zul je zelf weer overal mogen gaan addslashen. 't gevolg is dus dat al die oude scripts met een gigantisch veiligheids lek zitten. Daarom gebruik ik tegenwoordig ook altijd een functie die magic_quotes_gpc() ongedaan maakt. Die roep ik dan in het begin een keer aan en de rest van 't script wordt gebouwt alsof 't zonder magic_quotes is.

Verder komt er bij PHP6 standaard volgensmij nog een strictere error reporting ivm OO. Bij php5 kun je em ook aanzetten door error_reporting(E_ALL ^ E_STRICT); te gebruiken geloof ik. Bij PHP6 gaat die E_STRICT dus in de E_ALL zitten.

Ik ben wel blij dat ze eindelijk al die troep er uit gooien. Dat maakt 't programmeren en stuk duidelijker. Nu MOET je gewoon $_GET gebruiken en bestaan er geen register_globals meer.

Maar goed je kan dus nu al beginnen met je scripts PHP6 compatible te maken door te zorgen dat je script bovenstaande dingen juist wel of niet heeft.
Die nieuwe OOP-toevoegingen vind ik persoonlijk wel leuk. PHP krijgt zo toch wel trekjes van Java een beetje.

Mat ik van Javascript zo mooi vind is dat alles objecten zijn. Bijvoorbeeld:
$var = 'iets';
Nu bevat $var een object van het type string, en dat zonder dat ik new String('iets'); heb gebruikt. Dus je kan eigenschappen aan een string meegeven, functies erin proppen enz. Vind ik persoonlijker een stuk fijner dan al die losse functies van php zoals strtouppper().
Ook mooi zijn de manier van javascript hoe zij met functies omgaat. Je kan heel makkelijk een reference naar een functie maken door gewoon de naam zonder de brackets mee te geven. Niet als string, maar een functie is gewooon een variabele in Javascript. En dat werkt echt ideaal naar mijn mening. Maar dat zal wel niet volgens het KISS-principe zijn.

Maar namespaces (als dat er tenminste doorkomt) en vooral typecasting bij methods & classes vind ik al weer iets leuks om mijzelf aan te leren. Helaas zal ik nog wel een tijdje moeten wachten ben ik bang...
Ik snap het probleem niet hoor. Gewoon even je function Query veranderen in je DB-layer en eventueel je function MagicQuotes (of hoe je het ook hebt genoemd) veranderen, en je bent klaar. Dat is, inclusief het zoeken en openen van je bestand, ongeveer een minuut werk.

En, in de applicaties waarin je geen DB class gebruikt moet je het even handmatig aanpassen, maar dat zal denk ik niet zo'n probleem zijn aangezien je in elke serieuze (qua omvang en beveiliging) sowieso een database class gebruikt. En als je dat zelfs in je (middel)grote applicaties niet doet, dan hoef je ook niet over te stappen naar PHP 6 want dan heb je nog niet veel kaas gegeten van intelligent programmeren, hetgeen PHP 6 op gericht is.
@Jelmer: Dat komt van C++

string test;
vector<string> test2(0);
test = "blaat";
for (int i = 0; i < test.length(); i++) {
   test2.push_back(test.substr(i, 1));
}
cout << test << endl;


edit: en dat werkt natuurlijk alleen met "using namespace std;" anders ist std::string, std::cout, std::vector en std::endl.

Reageren