Durván meg fogja törni a visszafelé kompatibilitást a PHP 7

Címkék
Durván meg fogja törni a visszafelé kompatibilitást a PHP 7
2015-01-30T11:35:44+01:00
2015-02-02T15:00:25+01:00
2022-06-29T06:57:37+02:00
  • Én már régen írtam egy osztályt a mysql-nek, egyet a mysqli-nek, van hozzá egy interfészem, ami most a mysqli osztályomhoz csatlakozik, és db_connect, db_query stb. hívások vannak a kódomban.
    Ha megint váltani kell, akkor majd írok egy harmadik osztályt. Nem vagyok egy csúcsprogramozó, de ez még megy.
    Mutasd a teljes hozzászólást!
  • Ők az egyik verziót forkolták már és a php.net mintha tőlük is venne át dolgokat. Nem biztos, hogy a PHP7-et is forkolni fogják. Lehet, hogy már külön vonalon haladnak. Nem tudok erről, hogy mik a szándékaik.
    Mutasd a teljes hozzászólást!
  • Vajon a Facebook hány %-át kell majd átírni, hogy menjen 7-essel? :)
    Mutasd a teljes hozzászólást!
  • Nem volt bennem ilyen szándék, de ha nem ezt a logikát követik, akkor akár benne is maradhatnának a mysql függvények. Akinek tehénbe kerülne a módosítás, az úgy is előző verziós PHP-t fog használni :P Érdekes egyébként, hogy kevésbé biztonságosnak hiszik azokat az eljárásokat. Igazából, ha rosszul használod a PDO is ugyanolyan biztonsági réseket biztosít. Persze teljesítményben jócskán lehet különbség.
    Mutasd a teljes hozzászólást!
  • Hát ja. Dögöljön meg a szomszéd tehene is;)
    Mutasd a teljes hozzászólást!
  • Nagy kaland hogy kiveszik. Majd úgyis elkészül a PHP-ban irt változat:

    function mysql_query($params)
    {
       // ide jön a paramssal a bohockodás
       return mysqli_query($params)
    }
    Mutasd a teljes hozzászólást!
  • Logikus lenne ha a mysqli procedurális elérhetősége is teljesen megszűnne.
    Mutasd a teljes hozzászólást!
  • ez egy nagyon lassú átállás lesz :)
    Mutasd a teljes hozzászólást!
  • Megijedtem, bár a PHP7 még messze van. Gyorsan rákerestem a mysql_ és mysqli_ dolgokra és csak az alábbiakat találtam a projektjeinkben:

    $pdodsn = "mysql:host=$this->host"
    PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8",
    PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => false,

    Azaz 2-3 konstans összesen. Hurray! :)
    Mutasd a teljes hozzászólást!
  • Én is örülnék egy megerősítésnek, de a php.net-et nézegetve pl. a mysql_connect-nél írják, hogy deprecated és már mindjárt kuka az egész, használj mysqli-t vagy PDO-t, míg a mysqli::__construct leírásában nem látni ilyet. 

    Ebből én arra következtetek, hogy az évek óta tudott változásról van szó és a mysqli marad.

    Mondjuk ha így van azért tök durva, hogy ez még van akit készületlenül ér.
    Mutasd a teljes hozzászólást!
  • Már előre várom a prog.hu-s kérdéseket, ahol az lesz a gond, hogy a tíz éves blogposztokból összeollózott kód nem megy a legújabb PHP-n, mert nem találja a mysql függvényeket.

    (Nyilván ez csak azokat a "kódereket" fogja érinteni, akik nem értik, mit csinál a kódjuk. Egy kompetens programozónak gondolom nem okoz problémát egy modernebb API-ra átportolni külsős kódot.)
    Mutasd a teljes hozzászólást!
  • Mivel a php.net-en csak a mysql_*** hez írják a warningokat, a mysqli_*** valószínűleg marad. Ettől függetlenül az átállás fájdalmas lesz; ha szabad Farquad nagyurat idéznem:
    Talán meghaltok páran, de ilyen áldozatra hajlandó vagyok!
    Esetünkben nem hal meg senki, csak rengeteg pénzbe, időbe és munkába fog ez kerülni -- mindezt a fejlődés nevében.
    Mutasd a teljes hozzászólást!
  • A mysql-es részhez: Ha csak a mysql_* függvények tűnnek el, az azért nem olyan nagyon nagy probléma. Ha a mysqli_* függvények megmaradnak, akkor minimális munkával azért át lehet térni ezekre (kis túlzással akár egy szimpla search and replace-el is), mivel a mysqli_* függvényeket simán lehet procedurális stílusban is használni.
    Sting: ha erről (mármint a mysqli megtartásáról) van valami infód, akkor azt megírhatnád.
    Mutasd a teljes hozzászólást!
Címkék
abcd