mysql => mysqli tai pdo?

Started by ioxo, 31.01.14 - klo:17:06

Previous topic - Next topic

Ere Maijala

Reunaehdot ovat häilyvät, mutta toki joitakin löytyy. Samaa mieltä siitä, että kannattaa valita jokin tunnettu ja suosittu framework, mutta vielä on vaihtoehtona jokin tosi simppeli micro-framework, jonka kehittymisellä nyt ei ole niin paljon merkitystä, kun voi vaikka itse värkätä haluamansa lisukkeet helposti. PHP:ssa pysytään joka tapauksessa. Alkuperäinen tarkoitus on ollut, että softa sopii pienille yrityksille, ja se tulee säilymään jatkossakin. Siitäkin seuraa joitakin käytännön vaatimuksia. Laitan tähän nyt muutaman, joita tulee mieleen.


  • Helppo asennus (käytännössä pitäisi saada softa paketoitua zipiksi, jonka voi purkaa johonkin ja laittaa asentaen).
  • Tuki PHP 5.3.jollekin. Monissa palvelinhotelleissa tykätään vielä PHP 5.3:sta, joten framework, joka edellyttää esim. 5.4:ää, asettaa vaatimukset turhan korkealle.
  • Tuki MySQL:lle (ei käytännössä ongelma).
  • Jos frameworkiin kuuluu jokin templaattisysteemi, niin olkoon se riittävän fiksu, ettei tule ärsytystä.
  • Framework pitää pystyä omaksumaan tolkullisessa ajassa. Muu on pois varsinaiselta kehitystyöltä.
  • Kohtuullinen dokumentaatio esimerkkeineen ei haittaa.
  • Jos frameworkissa on jonkinlainen ORM, niin sen olisi hyvä tukea soft deleteä, järkeviä joineja ja muutamia muita juttuja (tosin en ole varma haluanko käyttää mitään ORM:ia).
  • Tekee hyvän rakenteen luomisesta helpon, mutta ei kahlitse.
  • Miellyttää meikäläistä.
  • Ja vaikka mitä muuta..

Mitä nyt olen noita katsonut, niin ainakin Kohana, Slim, Yii, Laravel ja ehkä myös FuelPHP ovat mielenkiintoisia. Yii tosin taitaa tippua pois, koska tuleva versio 2.0 vaatii PHP 5.4:n. Saatan vilkaista tuota Processwireakin vielä, kun sitä niin täällä kehutaan.  :D

--Ere

Beluga

Quote from: Ere Maijala on 12.02.14 - klo:20:42
Mitä nyt olen noita katsonut, niin ainakin Kohana, Slim, Yii, Laravel ja ehkä myös FuelPHP ovat mielenkiintoisia. Yii tosin taitaa tippua pois, koska tuleva versio 2.0 vaatii PHP 5.4:n. Saatan vilkaista tuota Processwireakin vielä, kun sitä niin täällä kehutaan.  :D

--Ere

Tuo palvelinten hidas tahti uusien PHP-versioiden tarjolle tuomisessa on ikävää. Itselläni ei ole kovin hyvää kokonaiskuvaa, mutta oltaisiinkohan pikku hiljaa menossa fiksumpaan suuntaan, jossa asiakkaan on helppo valita haluamansa PHP-versio "nappia painamalla" (jotain config-asetusta vaihtamalla)? Ainakin OVH Hostingissa on todella helppo ottaa käyttöön PHP 5.4 tai 5.5 ja vieläpä PHP-FPM - siis ihan halvimmassakin jaetussa hosting-ratkaisussa.

FuelPHP:kin on nimittäin siirtymässä 5.4:ään:
http://en.wikipedia.org/wiki/FuelPHP#Roadmap
QuoteIt will require PHP 5.4+

Tässä myös relevanttia luettavaa aiheesta, nimittäin PHP Framework interop groupin sisällä on käyty keskusteluja PHP 5.5:n käyttöön rohkaisemisesta: https://groups.google.com/forum/#!topic/php-fig/ogp03OHbVJ0
Eräs pullonkaula on tietysti myös Linux-jakelut, joiden vakaisiin versioihin joutuu lisäämään jotain kolmannen osapuolen repoja, jos haluaa pysyä PHP:n aallonharjalla. Jotenkin tuo muna/kana-ketju olisi katkaistava, mutta kenelläkään ei ole oikein kunnon keinoja. Wordpresskin pysyttelee tukevasti 5.2:ssa..

ioxo

Tuo Kohana näyttää varsin simppeliltä, mitä äkkiseltään katselee esimerkkejä.

Turha kai siitä frameworkista vääntää sen kummemmin, se joka tekee suurimman osan koodista niin saa valita mielestäni mieleisensä.

Hyvä tietysti käydä läpi ja katsoa, että mitä eri vaihtoehtoja on ja mitkä pysyy reunaehtojen sisällä.

Kukaanhan ei kiellä tekemästä omaa forkia/inittiä (esim.) githubiin ja aloittaa omaa sovellusta. Frameworkin päälle tehty invoice kyllä olisi mielenkiintoinen mitä odotan innolla...

Oletteko tutkineet valmiita framworkien päällä olevia laskutusohjelmia, onko niiden kehittäminen/suomentaminen mitenkään järkevää? Mielestäni mlinvoicen parhaita puolia on nuo lisät, mitä suomessa on käytössä kuten, maksumuistutus ja niiden lasku, viitenumerot/viikaoodit/ibanit, hyvityslaskujen tekeminen ja alvin huomioiminen oikealla tapaa. Useissa laskutusohjelmissa alvit tulee vasta loppusumman jälkeen, jolloin tuotteiden syöttäminen alvittomana on yhtä tuskaa, jos tekee kuluttajakauppaa.

-Juho

Beluga

#18
Quote from: ioxo on 13.02.14 - klo:17:37
Turha kai siitä frameworkista vääntää sen kummemmin, se joka tekee suurimman osan koodista niin saa valita mielestäni mieleisensä.

Olen täysin samaa mieltä ja itse en ainakaan koe "vääntäneeni" asiasta lainkaan, kun olen tuonut esille eri vaihtoehtoja ja arvioita niistä. En näe, että minulla on tietotaitoa sanoa, mikä framework on paras tässä tapauksessa.

Vääntämisen arvoista sen sijaan on minimivaatimus PHP 5.3 vs. 5.4. Tämä 2013 heinäkuulta:
QuoteThe PHP development team announces the immediate availability of PHP 5.3.27. About 10 bugs were fixed, including a security fix in the XML parser (Bug #65236). Please Note: This will be the last regular release of the PHP 5.3 series. All users of PHP are encouraged to upgrade to PHP 5.4 or PHP 5.5. The PHP 5.3 series will receive only security fixes for the next year.

Eli 2014 heinäkuussa 5.3:n tuki loppuu ja tietoturvapäivitykset lakkaavat. Frameworkit ovat selvästi siirtymässä 5.4:ään (Yii, FuelPHP sekä: "Laravel will be moving to 5.4 for our May 2014 release" - PHP-FIGin keskustelusta, johon linkkasin).

Voisin selvittää, kuinka moni Suomessa toimiva webhotelli tarjoaa 5.3:a uudempaa PHP:tä.

ioxo

#19
Quote from: Beluga on 14.02.14 - klo:07:19
Olen täysin samaa mieltä ja itse en ainakaan koe "vääntäneeni" asiasta lainkaan, kun olen tuonut esille eri vaihtoehtoja ja arvioita niistä. En koe, että minulla on tietotaitoa sanoa, mikä framework on paras tässä tapauksessa.

Juuh, tarkoitus olikin välttää siis tuo, että homma menisi vääntämiseksi =). Mun mielestä on hyvä kertoa oma näkemys, joka voi tuoda asioita esille, jota ei välttämättä osannut/huomannut ottaa huomioon.

Templateista sen verran, en tiedä miten hyvin soveltuu tuommoisen laskutuksen tekemiseen, mutta on erittäin käteviä henkilöille, joilla on pieni koodaus osaaminen, hyvä html-taito. Pitää koodin paljon siistimpänä kun "view" rooli tekee pelkästään sille kuuluvan osan, eikä siellä vilku epämääräisiä <?php echo $muuttuja; ?> rivejä vaan ennemmin {{muuttuja}}. Templateissa on myös yleensä näppäriä "include" toimintoja kuten { content "navbar.html" } eli ohjelman katseluosuus voidaan pilkkoa mukavan pieniksi.

Niin ja noissa frameworkeissähän eikös ole just se idea, että vaikka siellä vaihtuisi php 5.3 -> 5.4 -> 5.5, niin koodia ei välttämättä tarvi juuri muuttaa... vai olenko väärässä, muuttuuko se juuri? Toki webhotellit ei välttämättä tarjoa aina sitä uusinta uutta php-tukea.

-Juho

Beluga

Quote from: ioxo on 14.02.14 - klo:08:14
Niin ja noissa frameworkeissähän eikös ole just se idea, että vaikka siellä vaihtuisi php 5.3 -> 5.4 -> 5.5, niin koodia ei välttämättä tarvi juuri muuttaa... vai olenko väärässä, muuttuuko se juuri? Toki webhotellit ei välttämättä tarjoa aina sitä uusinta uutta php-tukea.

-Juho

No nyt kun Yii, FuelPHP ja Laravel julkaisevat uudet versionsa, ne käyttävät estottomasti PHP 5.4:n uusia ominaisuuksia, joten PHP 5.3:a pyörittävillä hosteilla frameworkkien uudet versiot eivät toimi.

ioxo

Quote from: Beluga on 14.02.14 - klo:08:37
No nyt kun Yii, FuelPHP ja Laravel julkaisevat uudet versionsa, ne käyttävät estottomasti PHP 5.4:n uusia ominaisuuksia, joten PHP 5.3:a pyörittävillä hosteilla frameworkkien uudet versiot eivät toimi.

Joo, kyllä mä ton tajusin, mutta muuttuuko frameworkin sisäinen koodi? Pystyykö päivittämään frameworkin ytimen uuteen muuttamatta oman appsin koodia?

Eikö se ole frameworkeissä yleensä idea, että ne olisi suht vakaita eikä tarvisi niin paljon koodata.

Olen Eren kanssa kyllä tuosta samaa mieltä, että ohjelman asennus kannattaa pitää yksinkertaisena. Kokeilin taannoin pupesoftia ja se on nettijuttujen mukaan hyvä, mutta itseä risosi se, että joutuu laittamaan virtuaalipalvelimen pystyyn, että saa helposti toimimaan ko. ohjelmiston. Tarvi säätää sitä sun tätä.

Mlinvoice ei ole mitenkään vaikea pistää pystyyn vaikka nginx alustalla. Myös se on hyvä, että mikäänhän ei pakota pitämään tuota laskutusta Internetissä vaan voi paikallisesti pyörittää esim. toimiston sisällä omissa palvelimissa. Josta tuli mieleen, että pitäiskö tarjota hostausta kyseiselle laskutusohjelmalle ;). Jotain ylihalpaa 1-2e/kk tai vastaavaa... Tosin vaikeus on sitte siinä kun kukaan ei helposti siedä ongelmia ja joutuiski istumaan helpdeskinä vähän turhan paljon :(.

-Juho

Beluga

#22
Quote from: ioxo on 14.02.14 - klo:10:41
Quote from: Beluga on 14.02.14 - klo:08:37
No nyt kun Yii, FuelPHP ja Laravel julkaisevat uudet versionsa, ne käyttävät estottomasti PHP 5.4:n uusia ominaisuuksia, joten PHP 5.3:a pyörittävillä hosteilla frameworkkien uudet versiot eivät toimi.

Joo, kyllä mä ton tajusin, mutta muuttuuko frameworkin sisäinen koodi? Pystyykö päivittämään frameworkin ytimen uuteen muuttamatta oman appsin koodia?


Yii 2.0 is not compatible with 1.1.

FuelPHP:n tapauksessa:
We'll provide as much backwards compatibility for 1.x as is possible. Some things will need a bit of search & replace, though doable project wide if your IDE/texteditor is capable of that.

Laravelista ei hajua, miten tulee käymään toukokuussa.

Edit: suomalaisten webhotellien PHP-versioiden kartoitus käynnissä, listalla nyt 85 webhotellia. Palaan asiaan maanantaina.

Ere Maijala

Kiitos jo etukäteen kartoituksesta, Beluga. PHP 5.3 -vaatimukseen voidaan vielä palata. Asianomaista kiinnostaa edelleen esim. Yii 2, joten saattaa olla, että taivun modernisaation nimissä (ja aina on vanha MLInvoice käytettävissä, jos ei oma palvelu tue uutta. Ulkomaisia tai muita laskutussoftia en ole tutkinut viime aikoina.

--Ere

Beluga

#24
Tässä kartoituksen tämänhetkinen tilanne CSV-muodossa (päivitetty 26.02.2014):
Yritys;PHP-versiot;Tiedon lähde
Avaruus.net;5.4 ja 5.5 uusimmilla palvelimilla;http://wiki.avaruus.net/ohjelmointi/php/versio
AXN Data;;Odotetaan vastausta
Capnova;5.3 (5.4 työn alla);https://oma.capnova.fi/serverstatus.php ja asiakaspalvelu
Comsix;5.4;http://webhotelli.comsix.fi/phpinfo.php
Datasafe;5.3 (kysytty jatkosta);http://www.datasafe.fi/tag/paivitys-php-5-3-datasafe/
Dataverstas;5.4;http://www.dataverstas.fi/index.php/palvelut/internetsivut/webhotellit
Devnull;5.4 (5.5 kesällä 2014);Asiakaspalvelu
Digitoimisto Digitaali ;5.3 (ei päivitysaikataulua);Asiakaspalvelu
Domainkeskus;5.3 (5.4 keväällä/alkukesällä 2014));https://www.domainkeskus.com/webhotelli ja asiakaspalvelu
Easylinehost;5.4;Asiakaspalvelu
Efilon;;Odotetaan vastausta
Elisa Yritysweb;5.3;http://yritysten-asiakastuki.elisa.fi/ohje/145/
ErgoRise;;Odotetaan vastausta
F-Solutions;;Odotetaan vastausta
Foral Design;5.3 (kysytty jatkosta);http://www.foral.fi/Safiiri.asp
Hostinger.fi;5.2, 5.3 ja 5.4;http://www.hostinger.fi/ilmainen-webhotelli
Hostingpalvelu;5.4 (tulossa vaihtotoiminto, jossa myös 5.5 ja 5.6);Asiakaspalvelu
HS-Works;;Odotetaan vastausta
ICT Hosting Media;5.3 (5.4 vuoden 2014 aikana);Asiakaspalvelu
Image World;5.4 mahdollinen;Asiakaspalvelu
Innoweb;5.4 ja 5.5 (pyynnöstä);Asiakaspalvelu
INT2000;5.3 ja 5.4;https://www.int2000.net/tiedote/182 ja asiakaspalvelu
IT-Palvelut Rahikainen;5.3 (tarvittaessa 5.4 tai 5.5);Asiakaspalvelu
Japo;;Odotetaan vastausta
JLhost;5.4 (tänä vuonna myös optio 5.5:een);Asiakaspalvelu
Kemppasystems;5.3 (huhtikuussa 5.5);Asiakaspalvelu
Kirahvi-Domainit;5.3 (ei päivitysaikataulua);http://www.kirahvi.com/webhotellit/ ja asiakaspalvelu
Kotisivut.com;5.4;Asiakaspalvelu
LanWorld Finland ;;Odotetaan vastausta
Louhi;5.3 ja 5.4;http://www.apua.com/asiakastiedotteet/php-5-4-paivitys/
Lumihosting;;Odotetaan vastausta
Magnic;5.4 ja 5.5 (pyynnöstä);Asiakaspalvelu
Mainostakomo;5.2, 5.3, 5.4 ja 5.5;http://www.mainostakomo.com/index.php/internetpalvelut/webhotel
Medialukko;5.3 ja 5.4;http://medialukko.fi/palvelut/webhotellit/
Mediatraffic (System Partners);5.2 (ei päivitysaikataulua);Asiakaspalvelu
MMD / Verkko24;5.5;Asiakaspalvelu
Nebula;5.3, 5.4 ja 5.5;https://www.nebula.fi/fi/node/218 ja asiakaspalvelu
Neobitti;5.2, 5.3 ja 5.4;Asiakaspalvelu
netFinn;5.3 ja 5.4;Asiakaspalvelu
Netsor;;Odotetaan vastausta
Nettihotelli.fi;5.4;https://www.nettihotelli.fi/index.php?Etusivu/Webhotellit
Neutech;5.3, 5.4 ja 5.5;Asiakaspalvelu
Osoite;;Odotetaan vastausta
Osuuskunta Satatuuli;5.3 (5.4 huhtikuussa);Asiakaspalvelu
OVH Hosting;5.3, 5.4 ja 5.5;http://www.ovh.com/fr/g1175.optimisation-php-fpm-hebergement-mutualise-ovh
Pardco Group;5.3 (5.4 kevään 2014 aikana);Asiakaspalvelu
Planeetta;5.3 (sidoksissa CentOSiin);http://www.planeetta.net/webhotelli/webhotelli.html ja asiakaspalvelu
Polarsoft;;Odotetaan vastausta
Powerhostingsolutions ;5.3 (ei päivitysaikataulua);Asiakaspalvelu
Puhtek;5.4;Asiakaspalvelu
Radicenter;5.3 (5.4 kesällä 2014);https://twitter.com/radicenter_fi/statuses/414828656947503104 ja asiakaspalvelu
RS-Development;5.4 ja 5.5;Asiakaspalvelu
Scene Group;5.4;http://www.scenegroup.fi/webhotellit
Sendanor;5.3 (isompi muutos palveluihin tulossa);Asiakaspalvelu
Shellit.org;5.4;https://www.shellit.org/webhotelli/tarkemmat
Sigmatic;5.3 (5.4 kevään 2014 aikana);Asiakaspalvelu
Sipeto;;Odotetaan vastausta
Sivukauppa;5.3 (kysytty jatkosta);http://www.sivukauppa.com/webhotelli/ominaisuudet.php
SJR Host;5.4;"http://sjrhost.fi/fi/customers/info/keywords=tekniset;tiedotteet"
Suncomet;5.4;http://tiedotteet.suncomet.info/tiedotteets/193
Suomicom;5.3 (5.4 ja 5.5 kesään 2014 mennessä);Asiakaspalvelu
SurfNet;5.3 (5.4 huhtikuussa);Asiakaspalvelu
Sydweb;5.2, 5.3, 5.4 ja 5.5;Asiakaspalvelu
Systec;5.3, 5.4 ja 5.5;Asiakaspalvelu
Tervapaja;5.4;http://www.tervapaja.com/tervapaja/tiedotteet
TL Network;;Odotetaan vastausta
TMI Webhostaus;5.3 (sidoksissa CentOSiin);Asiakaspalvelu
Tyrsky.net;;Odotetaan vastausta
Valonnopea;5.3 (huhtikuussa 5.4);Asiakaspalvelu
Viviohosting;5.1, 5.2, 5.3, 5.4 ja 5.5;Asiakaspalvelu
Waltsu Hosting;5.4;Asiakaspalvelu
Webbinen;5.4;Etusivu http://www.webbinen.net/
Webholder;5.3 (ei päivitysaikataulua);http://www.webholder.fi/tiedotteet/ ja asiakaspalvelu
Webhotelli.fi;5.3 (päivitys 5.4 ennen heinäkuuta 2014);https://www.webhotelli.fi/index.php#info_php
Webkoti / internetosoite.com;5.4 ja 5.5;Asiakaspalvelu
Webol;;Odotetaan vastausta
Websign-GrooveMedia;5.3 ja 5.4;Asiakaspalvelu
WMHost;5.4;Asiakaspalvelu
Woima Hosting;;Odotetaan vastausta
Xetnet;5.1, 5.2, 5.3, 5.4 ja 5.5;http://www.xetnet.fi/tiesitko-etta-voit-valita-itse-haluamasi-php-version-webhotelliin/
Xonet;5.2, 5.3 ja 5.4;http://www.xonet.eu/webhotellit/
ZeroDistance;5.4 ja tarvittaessa 5.5;Asiakaspalvelu
Zoner;5.4;https://tuki.zoner.fi/index.php?/News/NewsItem/View/16


Jos jossain on pelkkä 5.4 tai 5.5, niin se ei välttämättä tarkoita, etteikö yritys tarjoaisi myös vanhempaa versiota. Olen vain kirjannut asiakaspalveluiden minulle antamat tiedot suoraan ilman omia arvailuja.

Tilanne vaikuttaa yllättävän hyvältä. Yritykset, joilla ei ole päivitysaikataulua ovat selvässä vähemmistössä. Päivittäjät taas näyttäisivät olevan tietoisia 5.3:n EOLista, koska tähtäilevät kevääseen-kesään 2014.

Lähetin myös Kyberturvallisuuskeskukseen pyynnön, että he tiedottaisivat PHP 5.3:n EOLista, jos se vaikka herättelisi flegmaattisimpia hosteja.

Luettelossa vielä 16 hostia, joista ei ole mitään PHP-versiotietoa.

58 toimijalla versio >=5.4 tai tulossa kesään 2014 mennessä (oletan, että CentOS 7 tulee ennen kesää).
67 toimijalta on tiedot.

Ere Maijala

Kiitos. Tästä voisi päätellä, ettei PHP 5.4 ehkä ole enää niin kynnyskysymys. Ei ole kovin kauaa siitä, kun myös 5.3-vaatimus aiheutti ongelmia.

--Ere

ioxo

Jos kiinnostaa, niin tein pieniä gui-ehdotuksia. Liitteen voi kopsaa (zip) ja purkaa johonkin hakemistoon. Hakemiston ei tarvitse olla kytköksissä web-palvelimeen, sivut toimivat myös periaatteella file:///home/... (jotain cdn juttuja saattaa tarvita, että netin on varmaankin hyvä toimia).

Tuo ehdotuksen pohjana on käytetty http://startbootstrap.com/templates/sb-admin-v2/ -mallia.

Saa varmaan foorumille heittää ideoita ja ajatuksia. Tuossa ehdotuksessa on vasta pari sivua tehtynä, joten pelihousuja ei kannata repiä heti alkuun. Saa nyt nähdä mitä mieltä arvon raati on gui-ehdotuksesta =).

Liite: https://www.dropbox.com/s/du7hmfzo0akj18j/mlinvoice-admin.zip

Foorumille ei voinutkaan noin isoa liitettä laittaa :)

-Juho