The Codest
  • Par mums
  • Pakalpojumi
    • Programmatūras izstrāde
      • Frontend izveide
      • Backend izstrāde
    • Staff Augmentation
      • Frontend izstrādātāji
      • Backend izstrādātāji
      • Datu inženieri
      • Mākoņa inženieri
      • QA inženieri
      • Citi
    • Tā Konsultatīvais dienests
      • Audits un konsultācijas
  • Nozares
    • Fintech un banku darbība
    • E-commerce
    • Adtech
    • Healthtech
    • Ražošana
    • Loģistika
    • Automobiļu nozare
    • IOT
  • Vērtība par
    • CEO
    • CTO
    • Piegādes vadītājs
  • Mūsu komanda
  • Case Studies
  • Zināt, kā
    • Blogs
    • Tikšanās
    • Tiešsaistes semināri
    • Resursi
Karjera Sazinieties ar mums
  • Par mums
  • Pakalpojumi
    • Programmatūras izstrāde
      • Frontend izveide
      • Backend izstrāde
    • Staff Augmentation
      • Frontend izstrādātāji
      • Backend izstrādātāji
      • Datu inženieri
      • Mākoņa inženieri
      • QA inženieri
      • Citi
    • Tā Konsultatīvais dienests
      • Audits un konsultācijas
  • Vērtība par
    • CEO
    • CTO
    • Piegādes vadītājs
  • Mūsu komanda
  • Case Studies
  • Zināt, kā
    • Blogs
    • Tikšanās
    • Tiešsaistes semināri
    • Resursi
Karjera Sazinieties ar mums
Atpakaļ bultiņa ATGRIEZTIES ATPAKAĻ
2022-06-10
Programmatūras izstrāde

Projekta uzturēšana PHP: 5 kļūdas, no kurām jāizvairās

The Codest

Sebastian Luczak

PHP Vienības vadītājs

Ne viens vien raksts ir rakstīts par kļūdām, kas tiek pieļautas projekta vadīšanas procesā, taču reti kad tiek apskatītas projekta prasības un pārvaldīti riski, ņemot vērā izvēlēto tehnoloģiju.

PHPtāpat kā citām valodām ir daži trūkumi, kas nav nekā vērti, ja runa ir par pārvaldības IT projekts kur PHP ir vadošā valoda.

Zemāk esam apkopojuši šo problēmu sarakstu, kā arī padomus, kā no tām izvairīties.

1. PHP standartu ieteikumu neievērošana

PHP tiek uzskatīta par "vieglu valodu", jo tai ir ļoti zema piekļuves barjera. Tas rada lielas atšķirības kodēšanas standartos un to, kā globālās saskarnes tiek īstenotas dažādās ārējās bibliotēkās. Lai ieviestu kārtību, tika ieviests standartu kopums. Tie apraksta veidu kopumu, kā izstrādātājs īstenošana var atbilst jebkuram standartā noteiktajam ierobežojumu kopumam. Vienkāršs piemērs Notikumu dispečers:

Klausītājs - klausītājs ir jebkurš PHP izsaucamais, kas sagaida, ka tam tiks nodots notikums. Vienam un tam pašam Notikumam var nodot nulli vai vairākus klausītājus. Klausītājs VAR uzdot kādu citu asinhronu darbību, ja tas tā izvēlas.

Izmantojot šo standartu, ikviens izstrādātājs, kas izmanto PSR komponentu nomenklatūru, var ne tikai viegli sazināties ar kods ar citiem izstrādātājiem.
Šo standartu ieviešana praksē, piemēram, izmantojot PHP Pareizais veids vadlīnijas un bibliotēkas, kas atbalsta globālās PSR saskarnes, ļauj PHP izstrādātāji ātrāk pielāgoties funkcionālo, arhitektūras un infrastruktūras prasību izmaiņām.

Kā no tā izvairīties?

Kā kodubāzes uzturētājs vienmēr atcerieties izmantot pārbaudītas un stabilas ārējo bibliotēku versijas, un, ja esat spiests izmantot pielāgotu risinājumu, ievietojiet to, izmantojot PHP PSR.
Visu pieejamo standartu saraksts ir pieejams galvenajā tīmekļa vietnē. PHP-FIG. Paplašinātie standarti ar praktiskiem aprakstiem ir pieejami dažādos formātos no PHP Pareizais veids mājas lapa.
Labākās bibliotēkas, kas atbilst PHP-FIG standartiem, ir uzskaitītas vietnē PHP līga tīmekļa vietne.

2. Kompozitora.json atkarību versiju nefiksēšana

Projektos, kas izmanto atkarību pārvaldnieku Komponists bieži vien ir situācija, kad pēc ilgāka atbalsta un uzturēšanas perioda produkts ražošanas vidē ir nepieciešams ieviest funkcionālās izmaiņas, nepārbūvējot visu arhitektūru. Visbiežāk projektu pēc tam pārņem programmētājs, kura uzdevums ir palaist lokālo izstrādes vidi un sākt darbu ar biļetēm. Pamatojoties uz composer.lock failu, izstrādātājs var atjaunot projektu tādā stāvoklī, kādā tas bija ražošanas vidē, bet jebkuras izmaiņas, kas tiek veiktas composer.json failu, piemēram, pievienojot bibliotēku, radīs kļūdu kaskādi, kas palielinās faktisko laiku, kas vajadzīgs, lai ieviestu jaunu bibliotēku. komanda dalībnieks organizācijai, kā arī risinājuma izstrādes laiks.

Kā no tā izvairīties?

Kad lietojumprogramma ir stabila, koda uzturētājam ir jāfiksē bibliotēku versijas, kas atrodas composer.json failu un izveidot skaidru procedūru, kurā aprakstīts, kā atjaunināt to versijas, ja tas būs nepieciešams nākotnē.

Apsveriet arī iespēju izmantot mehānismu, kas pārbaudītu izmantoto bibliotēku drošības statusu un automatizētu drošības atjauninājumu nodrošināšanas procesu.
Izmantojot bezmaksas rīkus, piemēram. Dependabot, mēs varam gan uzturēt konsekventu, pārvaldāmu atkarīgo bibliotēku versiju infrastruktūru, gan nodrošināt drošības garantijas mūsu lietojumprogrammai.

3. Nepietiekama prasību apkopošana

> Tas ir tikai CRUD, kāpēc gan to darīt?

> Ir bibliotēka, kas tieši to dara!

In the PHP jomā, īstenojot produkta biznesa loģiku, ir viegli nonākt aizmāršības virpulī. Gadu gaitā ir bijuši simtiem projektu, kuros [izveidoti administratīvie paneļi, lai pārvaldītu dati modeļus](https://backpackforlaravel.com/), [ģenerēt Google Analytics līdzīgus skatus](https://github.com/Kunstmaan/KunstmaanDashboardBundle) vai [atrisināt PHP async problēmas](https://laravel.com/docs/9.x/octane) ar burvju nūjiņas pieskārienu (labi, ar vienu komandrindas vaicājumu).
PHP pasaule ir pilna ar gatavām implementācijām, kas darbojas 99,9% gadījumu.
0.1% ir vieta, kur biznesa loģika saduras ar izmantoto bibliotēku funkcionālajiem ierobežojumiem.
Projekta beigās visgrūtāk ir īstenot tieši šos tā sauktos "papildu risinājumus".

Kā no tā izvairīties?

Nav iespējams atrast zelta vidusceļu starp pārinženierijas un nepietiekamas inženierijas līmeni, ja nav pienācīgas izpratnes par produkta biznesa jomu.
Uzsākot izstrādes komanda dalībniekiem jau produkta izstrādes posmā un proaktīvi sadarbojoties ar produkta īpašnieku, jūs varat samazināt problēmas risku, ka tiks izmantots risinājums, kas nedarbosies kā ilgtermiņa ieguldījums.

4. Izmaksu samazināšana, izvairoties no testu rakstīšanas

PHP noteikti nav ideāls. Tās trūkumi attiecībā uz statisko tipizēšanu, ģenerikas atbalsta trūkumu un arhaisko metožu pastāvīgu atbalstu joprojām ir jokiem jocīgu jautājumu avots programmētāju vidū. Tomēr jau kādu laiku PHP izstrādātāji ir pieejami arvien jaudīgāki rīki, piemēram. PHPStan, Xdebug, PHP-CS-Fixer kas ļauj saglabāt konsekvenci un statisko tipizēšanu, tādējādi izvairoties no daudzām kļūdām. Tomēr pārāk maz uzmanības tiek pievērsts testiem, un, ja tie ir pareizi īstenoti, tie ātri atmaksājas investīciju veidā.
- regresijas kļūdu samazināšana
- lielāka informētība par produktu iespējām.
- palielināt izstrādātāja piederības sajūtu kodam.

Kā no tā izvairīties?

Nesamaziniet izmaksas testēšanai. Vienkāršu Behat skriptu rakstīšana patiešām nav tik sarežģīta, jums nav uzreiz jāraksta sarežģīti end-to-end testi vai jāiedziļinās implementācijas detaļās un jātestē katra metode.
Vienkāršs Behat tests, kas aprakstīts dabiskā domēna valodā, bieži vien ir vērtīgāks par visrūpīgāk uzrakstītu "no gala līdz galam" testu.

5. Modernās arhitektūras modeļu neņemšana vērā

Portāls PHP valoda un tās divi jaudīgākie ietvari Laravel un Symfony ir pilnībā piemērotas modernas, funkcionālas un, pats galvenais, augstas veiktspējas arhitektūras izveidei. Dažādu ziņojumu rindu sistēmu atbalsts un arvien ātrāka PHP veiktspējas uzlabojumi no versijas uz versiju ļauj mums viegli izveidot mikroservisi pamatojoties uz mikrokādēm. Tomēr lielākoties mēs joprojām paļaujamies uz monolītām sistēmām. Tas nav nekas slikts, taču, apsverot šādu sistēmu izstrādi, mums jāpievērš liela uzmanība domēna robežām un jānosaka saskarnes punkts starp jaunajiem risinājumiem un vecākajām sistēmas daļām.

Kā no tā izvairīties?

Izstrādājot jebkuru PHP tīmekļa vietni, ir vērts rūpīgi izpētīt pašreizējos risinājumus, izveidot globālas saskarnes datu saziņai un ieviest jaunas funkcijas, izmantojot jaunākās metodes un praksi. Viens no populārākajiem praksē izmantotajiem risinājumiem ir Dusinātājs modelis.

Saistītie raksti

Programmatūras izstrāde

Kiberdrošības dilemmas: Datu noplūde

Pirmssvētku steiga ir pilnā sparā. Meklējot dāvanas saviem mīļajiem, cilvēki arvien biežāk ir gatavi "šturmēt" interneta veikalus.

The Codest
Jakub Jakubowicz CTO un līdzdibinātājs
Programmatūras izstrāde

Iekšējo un ārējo izstrādātāju pieņemšana darbā

Darbinieku pieņemšana darbā iekšēji vai ārēji? Tā ir vislielākā dilemma! Šajā rakstā uzziniet outsourcing vai iekšējās komandas veidošanas priekšrocības.

The Codest
Grzegorz Rozmus Java vienības vadītājs
Uzņēmumu un mērogošanas risinājumi

Pareizais veids, kā atrast labākos Java izstrādātājus

Atrast ideālu Java izstrādātāju var būt grūts uzdevums. Tā kā tirgus pieprasījums pēc šādiem speciālistiem aug pārsteidzošā tempā, pieejamie talantu meklēšanas avoti dažkārt var šķist...

The Codest
Grzegorz Rozmus Java vienības vadītājs

Abonējiet mūsu zināšanu bāzi un saņemiet jaunāko informāciju par IT nozares pieredzi.

    Par mums

    The Codest - starptautisks programmatūras izstrādes uzņēmums ar tehnoloģiju centriem Polijā.

    Apvienotā Karaliste - Galvenā mītne

    • 303B birojs, 182-184 High Street North E6 2JA
      Londona, Anglija

    Polija - Vietējie tehnoloģiju centri

    • Fabryczna Office Park, Aleja
      Pokoju 18, 31-564 Krakova
    • Brain Embassy, Konstruktorska
      11, 02-673 Varšava, Polija

      The Codest

    • Sākums
    • Par mums
    • Pakalpojumi
    • Case Studies
    • Zināt, kā
    • Karjera
    • Vārdnīca

      Pakalpojumi

    • Tā Konsultatīvais dienests
    • Programmatūras izstrāde
    • Backend izstrāde
    • Frontend izveide
    • Staff Augmentation
    • Backend izstrādātāji
    • Mākoņa inženieri
    • Datu inženieri
    • Citi
    • QA inženieri

      Resursi

    • Fakti un mīti par sadarbību ar ārējo programmatūras izstrādes partneri
    • No ASV uz Eiropu: Kāpēc Amerikas jaunuzņēmumi nolemj pārcelties uz Eiropu?
    • Tehnoloģiju ārzonas attīstības centru salīdzinājums: Tech Offshore Eiropa (Polija), ASEAN (Filipīnas), Eirāzija (Turcija)
    • Kādi ir galvenie CTO un CIO izaicinājumi?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • Website terms of use

    Autortiesības © 2026 The Codest. Visas tiesības aizsargātas.

    lvLatvian
    en_USEnglish de_DEGerman sv_SESwedish da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish arArabic it_ITItalian es_ESSpanish nl_NLDutch etEstonian elGreek pt_PTPortuguese cs_CZCzech lt_LTLithuanian lvLatvian