Yii

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 11. august 2017; checks kræver 79 redigeringer .
Yii
Type webramme
Forfatter Qiang Sue [d]
Udviklere Yii udviklingsteam
Skrevet i PHP [1]
Operativ system på tværs af platforme
Første udgave 1. januar 2008
nyeste version 2.0.46 (19. august 2022)
Stat Aktiv
Licens ændret BSD-licens [d]
Internet side yiiframework.com

Yii (udtales [ji:] og ofte skrevet på russisk yii [2] ) er en objektorienteret komponentramme , der implementerer MVC -paradigmet [3] . På kinesisk betyder Yii "simpel og progressiv", og Yii er også et akronym for "Yes It Is!".

Historie

Historien om Yii begyndte den 1. januar 2008 som et projekt for at rette nogle fejl i PRADO (PHP Rapid Application Development Object-oriented) frameworket, som vandt Zend PHP 5 kodningskonkurrencen i 2004 [4] [5] .

PRADO-rammen var et forsøg på at portere ASP.NET til PHP -platformen , inklusive ViewState, PostBacks, Page_Load og OnClick, hvilket resulterede i kodestykker, der blot blev kopieret fra ASP.NET . For eksempel opdeling i sjældne felter og lejlighedsvise felter i kontrolklassen [6] med henblik på hukommelsesoptimering, hvilket giver mening i .NET, men er af tvivlsom værdi i PHP. PRADO arvede næsten alle ulemperne ved ASP.NET: det var langsom at gengive komplekse sider, havde en stejl indlæringskurve og var ret vanskelig at sætte op [7] .

På et tidspunkt indså Qiang Sue, grundlæggeren og udvikleren af ​​kernen af ​​PRADO [8] frameworket  , at PHP frameworket burde bygges lidt anderledes. I oktober 2008, efter over 10 måneders lukket udvikling, blev den første alfaversion frigivet . Den 3. december 2008 blev Yii 1.0 udgivet [3]

Den 24. marts 2020 blev Yii 2.0.33 [9] frigivet . Rettede 22 fejl, lavede 4 forbedringer. Frigivne udvidelser:

Yii 3-udgivelse er planlagt til 2020. Nye udvidelser inkluderer:

  1. Understøttelse af forskellige DBMS Redis , MongoDB ;
  2. Kodedesign i henhold til PSR [10] ;
  3. Brug af semantisk versionering SemVer [11] ;
  4. DDD -kompatibel;
  5. Adskillelse af konsollen fra nettet;
  6. Opdeling i dele, der kan bruges separat;
  7. Stærk skrivning ;
  8. SOLID ;
  9. At dræbe klassehierarkiet;
  10. Dræber de fleste wrapper extensions;
  11. Afvisning af ikke-standardobjekter;
  12. Swoole/Road Runner.

Funktioner

Rammerne er veldokumenterede: Der er dokumentation for alt og på flere sprog (russisk, ukrainsk, engelsk, spansk og andre). Hver metode har også en header i PHPDoc .

Udvidelser

Yii-projektet omfatter et lager af tilpassede udvidelser.

Der var også et officielt udvidelsesbibliotek, zii, som til sidst blev slået sammen i hovedrammen; den har været inkluderet i hver udgivelse siden Yii version 1.1.0 og inkluderer yderligere adfærd og widgets såsom gitter og jQuery UI .

Yii og designmønstre (mønstre)

Ligesom andre rammer bruger Yii mønstrene Dependency Injection (DI) og Service Locator. [femten]

Dokumenter og licenser

Yii har en samling af officiel dokumentation, såsom et selvstudie om udvikling af en simpel blogapplikation, en manual, der beskriver hver funktion, og en klassereference, der giver alle detaljer om egenskaber, metoder og begivenheder. Der er også brugerbidraget dokumentation, hvoraf det meste er tilgængeligt på wikien på den officielle hjemmeside.

Yii udgives under den nye BSD-licens (3-klausul licens). Det betyder, at du kan bruge det gratis til at udvikle både open source og proprietære webapplikationer. Teksten i den officielle Yii-dokumentation er licenseret til offentligheden under GNU Free Documentation License (GFDL) . Generelt kan indholdet af Yii-dokumentationen kopieres, ændres og videredistribueres, så længe den nye version giver de samme friheder til andre og anerkender forfatterne af den brugte Yii-dokumentation. Logoet er licenseret under Creative Commons Attribution-No Derivative Works 3.0 Unported License

Sammenligning med andre rammer

Ifølge resultaterne af phpmark-tests viste Yii den bedste ydeevne [12] .

Ydeevnen af ​​rammerne i disse tests blev evalueret på kunstige eksempler som Hello world . Testene viser initialiseringstiden for rammerne, og ud fra dem kan man kun konkludere, at Yii har et kvalitets doven initialiseringsundersystem (det vil sige, at koden kun indlæses, når det er nødvendigt). Der er ingen bekræftet information om, at Yii er hurtigere end andre rammer under virkelige forhold.

I blogosfæren kan du finde en masse artikler med en komparativ analyse af rammer. Generelt observeres følgende tendenser:

CMS og CMF på YII

Yii er ret populær blandt udviklere, der er mange forskellige indholdsstyringssystemer baseret på det.

Versionshistorik

Farve Betegnelse
Rød Gammel version, understøttes ikke
Gul Den gamle version understøttes stadig
Grøn Nuværende version
Blå fremtidige version
Afdeling Version Udgivelses dato Slut på support Systemkrav
1.0 1.0 3. december 2008 31. december 2010 PHP 5.1.0 eller højere
1.0.1 4. januar 2009
1.0.2 1. februar 2009
1.0.3 1. marts 2009
1.0.4 5. april 2009
1.0.5 10. maj 2009
1.0.6 7. juni 2009
1.0.7 5. juli 2009
1.0.8 9. august 2009
1.0.9 6. september 2009
1.0.10 18. oktober 2009
1.0.11 13. december 2009
1.0.12 14. marts 2010
1.1 1.1.0 10. januar 2010 31. december 2015

indtil 1. december 2019

kode sikkerhedssupport [27]

PHP 5.1.0 eller højere
1.1.1 14. marts 2010
1.1.2 2. maj 2010
1.1.3 4. juli 2010
1.1.4 5. september 2010
1.1.5 14. november 2010
1.1.6 16. januar 2011
1.1.7 26. marts 2011
1.1.8 26. juni 2011
1.1.9 1. januar 2012
1.1.10 12. februar 2012 [28]
1.1.11 29. juli 2012 [29]
1.1.12 19. august 2012 [30]
1.1.13-RC 2. december 2012 [31]
1.1.13 30. december 2012 [32]
1.1.14 11. august 2013 [33]
1.1.15 29. juni 2014 [34]
1.1.16 21. december 2014 [35]
1.1.17 13. januar 2016 [36]
1.1.18 19. april 2017 [27]
1.1.19 8. juni 2017 [37]
1.1.20 6. juli 2018 [38]
2.0 2.0.0 12. oktober 2014 PHP 5.4.0 og nyere [39]
2.0.1 7. december 2014
2.0.2 11. januar 2015
2.0.3 1. marts 2015
2.0.4 10. maj 2015
2.0.5 11. juli 2015
2.0.6 10. august 2015
2.0.7 14. februar 2016
2.0.8 28. april 2016
2.0.9 11. juli 2016 [40]
2.0.10 20. oktober 2016 [41]
2.0.11 1. februar 2017 [42]
2.0.12 5. juni 2017 [43]
2.0.13 3. november 2017
2.0.14 19. februar 2018 [44]
2.0.15 20. marts 2018 [45]
2.0.16 31. januar 2019

Begivenheder, møder

2012

2016

2017

Bøger

Links

Noter

  1. yii Open Source-projektet på Open Hub: Languages-side - 2006.
  2. Alexander Makarov. Vi udtaler korrekt - RMCreative . rmcreative.ru. Hentet 27. april 2017. Arkiveret fra originalen 28. april 2017.
  3. 12 Om Yii . Hentet 22. august 2010. Arkiveret fra originalen 27. april 2012.
  4. Om PRADO . Hentet 22. august 2010. Arkiveret fra originalen 27. april 2012.
  5. Vindere af PHP5-kodningskonkurrence , Google Blogoscoped (26. oktober 2004). Arkiveret fra originalen den 17. november 2011. Hentet 7. februar 2012.
  6. PRADO, TControl-kilde Arkiveret 24. august 2014.
  7. Yii: en højtydende ramme, der arver Prado (6. oktober 2008). Hentet 22. august 2010. Arkiveret fra originalen 27. april 2012.
  8. Qiang Xue, Fabio Bas. PRADO PHP Framework . www.pradoframework.net Hentet 4. november 2016. Arkiveret fra originalen 4. juli 2016.
  9. Yii 2.0.33 | Nyheder | Yii PHP Framework . Hentet 23. maj 2020. Arkiveret fra originalen 13. maj 2020.
  10. PHP-FIG - PHP Framework Interop Group - PHP-FIG . Hentet 24. april 2020. Arkiveret fra originalen 24. april 2020.
  11. Semantisk version 2.0.0 | semantisk versionering . Hentet 23. maj 2020. Arkiveret fra originalen 5. juni 2020.
  12. ↑ 1 2 Yii's ydeevne (downlink) . Dato for adgang: 7. september 2011. Arkiveret fra originalen 19. august 2010. 
  13. Smarty Guide | Smart . Hentet 24. april 2020. Arkiveret fra originalen 19. september 2020.
  14. Særlige emner: Konsolkommandoer | Den komplette guide til Yii 2.0 | Yii PHP Framework . Hentet 23. maj 2020. Arkiveret fra originalen 20. oktober 2020.
  15. "Dependency Injection and Service Locator in Yii 2" - Dmitry Naumenko på Yii2-konferencen - YouTube
  16. Yii Q&A  1 . samdark.github.io. Hentet 27. april 2017. Arkiveret fra originalen 28. april 2017.
  17. Yii 1.1.9 . Hentet 30. september 2016. Arkiveret fra originalen 7. august 2016.
  18. Evaluering af PHP Frameworks . Hentet 16. juli 2011. Arkiveret fra originalen 13. september 2012.
  19. Sammenligning af populære PHP-rammer . Hentet 17. juli 2011. Arkiveret fra originalen 4. september 2012.
  20. Yupi! - indholdsstyringssystem (CMS) på Yiiframework . Hentet 23. maj 2020. Arkiveret fra originalen 11. august 2020.
  21. Arkiveret kopi . Hentet 23. maj 2022. Arkiveret fra originalen 6. april 2022.
  22. Easyii Yii2 CMS . Hentet 23. maj 2020. Arkiveret fra originalen 31. maj 2020.
  23. MonoRay.ru - Produkter - Åbn visitkort . Hentet 4. december 2018. Arkiveret fra originalen 5. december 2018.
  24. Arkiveret kopi . Hentet 23. maj 2022. Arkiveret fra originalen 16. maj 2022.
  25. Effektivt CMS til webstedspromovering fra WebCanape - Canape CMS . Hentet 21. marts 2018. Arkiveret fra originalen 21. marts 2018.
  26. Skeeks CMS (Yii2 CMS) - Internet-projektstyringssystem, oprettelse af webprojekter, virksomhedsinterne portalstyringssystem . Hentet 2. marts 2019. Arkiveret fra originalen 6. marts 2019.
  27. ↑ 1 2 http://www.yiiframework.com/news/133/yii-1-1-18-is-released/ .
  28. Yii Framework Changelog . Hentet 14. februar 2012. Arkiveret fra originalen 16. februar 2012.
  29. Yii Framework Changelog . Hentet 1. august 2012. Arkiveret fra originalen 1. august 2012.
  30. Arkiveret kopi . Hentet 25. august 2012. Arkiveret fra originalen 22. august 2012.
  31. Arkiveret kopi . Hentet 5. december 2012. Arkiveret fra originalen 7. december 2013.
  32. Arkiveret kopi . Dato for adgang: 7. januar 2013. Arkiveret fra originalen 2. januar 2013.
  33. Arkiveret kopi . Hentet 15. august 2013. Arkiveret fra originalen 14. august 2013.
  34. Arkiveret kopi . Dato for adgang: 1. juli 2014. Arkiveret fra originalen den 7. juli 2014.
  35. Arkiveret kopi . Dato for adgang: 22. december 2014. Arkiveret fra originalen 22. december 2014.
  36. https://raw.githubusercontent.com/yiisoft/yii/1.1.17/CHANGELOG . Hentet 26. juli 2016. Arkiveret fra originalen 16. marts 2016.
  37. Alexander Makarov. Yii 1.1.19 . Hentet 10. juni 2017. Arkiveret fra originalen 8. juni 2017.
  38. Yii 1.1.20 er  frigivet . yii ramme. Hentet 17. august 2018. Arkiveret fra originalen 17. august 2018.
  39. Download Yii Framework | yii ramme . Hentet 8. februar 2011. Arkiveret fra originalen 15. august 2020.
  40. Yii 2.0.9 . Hentet 26. juli 2016. Arkiveret fra originalen 7. august 2016.
  41. Yii 2.0.10 er frigivet | Nyheder | Yii PHP Framework . www.yiiframework.com. Hentet 4. november 2016. Arkiveret fra originalen 3. november 2016.
  42. Yii 2.0.11 er frigivet | Nyheder |  Yii PHP Framework . www.yiiframework.com. Dato for adgang: 7. februar 2017. Arkiveret fra originalen 7. februar 2017.
  43. Yii 2.0.12 er frigivet | Nyheder |  Yii PHP Framework . www.yiiframework.com. Hentet 7. juni 2017. Arkiveret fra originalen 10. juni 2017.
  44. Yii 2.0.14 er frigivet | Nyheder |  Yii PHP Framework . www.yiiframework.com. Hentet 8. marts 2018. Arkiveret fra originalen 5. marts 2018.
  45. Frigivelse af Yii 2.0.15 og databaseudvidelser med  sikkerhedsrettelser . yii ramme. Hentet 17. august 2018. Arkiveret fra originalen 17. august 2018.
  46. YiiConf 2012 / Kiev, Ukraine . 2012.yiiconf.ru. Hentet 4. juli 2017. Arkiveret fra originalen 5. juli 2017.
  47. Dev Pizza med Dmitry Naumenko "Profilering i PHP med XDebug, XHprof, Blackfire" . www.facebook.com. Hentet: 4. juli 2017.
  48. Bestået et hackathon på Yii Framework på TACC  (russisk) . Arkiveret fra originalen den 19. juni 2017. Hentet 4. juli 2017.
  49. Alexander Makarov. Hackathon om Yii Framework i TACC, rapport - RMCreative . rmcreative.ru. Hentet 4. juli 2017. Arkiveret fra originalen 23. juni 2017.
  50. Intellectday: Yii2 mødes . www.facebook.com. Hentet: 4. juli 2017.
  51. 21. juli, Kiev. Foredrag af Dmitry Nemesh - Yii Framework . yiiframework.ru. Hentet: 4. juli 2017.
  52. WebCamp - 29.-31. juli, Odessa - Yii Framework . yiiframework.ru. Hentet: 4. juli 2017.
  53. 3. september i Kiev PHP frameworks day - Yii Framework . yiiframework.ru. Hentet: 4. juli 2017.
  54. Yii 2 Conference 2016, Kiev - Yii Framework . yiiframework.ru. Hentet 4. juli 2017. Arkiveret fra originalen 21. september 2017.
  55. Alexander Makarov. Ivanovo 2016, rapport - RMCreative . rmcreative.ru. Hentet 4. juli 2017. Arkiveret fra originalen 24. juni 2017.
  56. Kiev 07.12.2016 - Yii Framework . yiiframework.ru. Hentet 4. juli 2017. Arkiveret fra originalen 4. juli 2017.
  57. YiiConf 2017 . Hentet 4. juli 2017. Arkiveret fra originalen 13. juli 2017.
  58. mørke. YiiConf 2017, dias, fotos og podcast . yiiframework.ru. Hentet 4. juli 2017. Arkiveret fra originalen 3. juli 2017.
  59. GitHub - samdark/yii2-kogebog: Yii 2.0 Community Cookbook . Hentet 24. april 2020. Arkiveret fra originalen 16. september 2020.