René's URL Explorer Experiment


Title: GitHub - timurgen/php-code-conventions: Code concepts, principles and examples for long term projects

Open Graph Title: GitHub - timurgen/php-code-conventions: Code concepts, principles and examples for long term projects

X Title: GitHub - timurgen/php-code-conventions: Code concepts, principles and examples for long term projects

Description: Code concepts, principles and examples for long term projects - timurgen/php-code-conventions

Open Graph Description: Code concepts, principles and examples for long term projects - timurgen/php-code-conventions

X Description: Code concepts, principles and examples for long term projects - timurgen/php-code-conventions

Opengraph URL: https://github.com/timurgen/php-code-conventions

X: @github

direct link

Domain: patch-diff.githubusercontent.com

route-pattern/:user_id/:repository
route-controllerfiles
route-actiondisambiguate
fetch-noncev2:bb8840a2-0b5f-54f3-cd78-74901225f3e3
current-catalog-service-hashf3abb0cc802f3d7b95fc8762b94bdcb13bf39634c40c357301c4aa1d67a256fb
request-id992A:13C44A:65BDA1:8083E7:6990768C
html-safe-noncea4cad401ecde8c325807c132f3c27de724fb6063fe0d72e08aa3028ccb111550
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI5OTJBOjEzQzQ0QTo2NUJEQTE6ODA4M0U3OjY5OTA3NjhDIiwidmlzaXRvcl9pZCI6IjQ4MzIzMTc3NTg4MDkzNTA1MiIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmac994ab658d0f2d43e128ab38239e7c2894f4067a43408e5a770e6843aadf4390c
hovercard-subject-tagrepository:128192520
github-keyboard-shortcutsrepository,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location//
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/timurgen/php-code-conventions
twitter:imagehttps://opengraph.githubassets.com/ec1fb2dd03b53d39c70b388e13790af80ed811679e72ca7a20ae37ac94daab03/timurgen/php-code-conventions
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/ec1fb2dd03b53d39c70b388e13790af80ed811679e72ca7a20ae37ac94daab03/timurgen/php-code-conventions
og:image:altCode concepts, principles and examples for long term projects - timurgen/php-code-conventions
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None42c603b9d642c4a9065a51770f75e5e27132fef0e858607f5c9cb7e422831a7b
turbo-cache-controlno-preview
go-importgithub.com/timurgen/php-code-conventions git https://github.com/timurgen/php-code-conventions.git
octolytics-dimension-user_id2380960
octolytics-dimension-user_logintimurgen
octolytics-dimension-repository_id128192520
octolytics-dimension-repository_nwotimurgen/php-code-conventions
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forktrue
octolytics-dimension-repository_parent_id125863080
octolytics-dimension-repository_parent_nworoistat/php-code-conventions
octolytics-dimension-repository_network_root_id125863080
octolytics-dimension-repository_network_root_nworoistat/php-code-conventions
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release3b33c5aedc9808f45bc5fcf0b1e4404cf749dac7
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#start-of-content
https://patch-diff.githubusercontent.com/
Sign in https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2Ftimurgen%2Fphp-code-conventions
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2Ftimurgen%2Fphp-code-conventions
Sign up https://patch-diff.githubusercontent.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E&source=header-repo&source_repo=timurgen%2Fphp-code-conventions
Reloadhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions
Reloadhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions
Reloadhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions
timurgen https://patch-diff.githubusercontent.com/timurgen
php-code-conventionshttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions
roistat/php-code-conventionshttps://patch-diff.githubusercontent.com/roistat/php-code-conventions
Notifications https://patch-diff.githubusercontent.com/login?return_to=%2Ftimurgen%2Fphp-code-conventions
Fork 0 https://patch-diff.githubusercontent.com/login?return_to=%2Ftimurgen%2Fphp-code-conventions
Star 0 https://patch-diff.githubusercontent.com/login?return_to=%2Ftimurgen%2Fphp-code-conventions
MIT license https://patch-diff.githubusercontent.com/timurgen/php-code-conventions/blob/master/LICENSE
0 stars https://patch-diff.githubusercontent.com/timurgen/php-code-conventions/stargazers
88 forks https://patch-diff.githubusercontent.com/timurgen/php-code-conventions/forks
Branches https://patch-diff.githubusercontent.com/timurgen/php-code-conventions/branches
Tags https://patch-diff.githubusercontent.com/timurgen/php-code-conventions/tags
Activity https://patch-diff.githubusercontent.com/timurgen/php-code-conventions/activity
Star https://patch-diff.githubusercontent.com/login?return_to=%2Ftimurgen%2Fphp-code-conventions
Notifications https://patch-diff.githubusercontent.com/login?return_to=%2Ftimurgen%2Fphp-code-conventions
Code https://patch-diff.githubusercontent.com/timurgen/php-code-conventions
Pull requests 0 https://patch-diff.githubusercontent.com/timurgen/php-code-conventions/pulls
Actions https://patch-diff.githubusercontent.com/timurgen/php-code-conventions/actions
Projects 0 https://patch-diff.githubusercontent.com/timurgen/php-code-conventions/projects
Wiki https://patch-diff.githubusercontent.com/timurgen/php-code-conventions/wiki
Security 0 https://patch-diff.githubusercontent.com/timurgen/php-code-conventions/security
Insights https://patch-diff.githubusercontent.com/timurgen/php-code-conventions/pulse
Code https://patch-diff.githubusercontent.com/timurgen/php-code-conventions
Pull requests https://patch-diff.githubusercontent.com/timurgen/php-code-conventions/pulls
Actions https://patch-diff.githubusercontent.com/timurgen/php-code-conventions/actions
Projects https://patch-diff.githubusercontent.com/timurgen/php-code-conventions/projects
Wiki https://patch-diff.githubusercontent.com/timurgen/php-code-conventions/wiki
Security https://patch-diff.githubusercontent.com/timurgen/php-code-conventions/security
Insights https://patch-diff.githubusercontent.com/timurgen/php-code-conventions/pulse
Brancheshttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions/branches
Tagshttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions/tags
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions/branches
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions/tags
2 Commitshttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions/commits/master/
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions/commits/master/
LICENSEhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions/blob/master/LICENSE
LICENSEhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions/blob/master/LICENSE
README.mdhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions/blob/master/README.md
README.mdhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions/blob/master/README.md
README_en.mdhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions/blob/master/README_en.md
README_en.mdhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions/blob/master/README_en.md
READMEhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions
MIT licensehttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#translations
https://raw.githubusercontent.com/gosquared/flags/master/flags/flags/shiny/24/United-Kingdom.png
Englishhttps://github.com/roistat/php-code-conventions/blob/master/README_en.md
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#содержание
Введениеhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5
Ценностиhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%A6%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D0%B8
Принципыhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%9F%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF%D1%8B
Общие правилаhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%9E%D0%B1%D1%89%D0%B8%D0%B5-%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0
Правила разделения бизнес-логикиhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0-%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F-%D0%B1%D0%B8%D0%B7%D0%BD%D0%B5%D1%81-%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B8
Работа с файламиhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D1%84%D0%B0%D0%B9%D0%BB%D0%B0%D0%BC%D0%B8
Работа с переменнымиhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D0%BF%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%BC%D0%B8
Логические переменные и методыhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%9B%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5-%D0%BF%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B8-%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D1%8B
Работа с массивамиhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D0%BC%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D0%B0%D0%BC%D0%B8
Работа со строкамиhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81%D0%BE-%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B0%D0%BC%D0%B8
Работа с датамиhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D0%B4%D0%B0%D1%82%D0%B0%D0%BC%D0%B8
Работа с неймспейсамиhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D0%BD%D0%B5%D0%B9%D0%BC%D1%81%D0%BF%D0%B5%D0%B9%D1%81%D0%B0%D0%BC%D0%B8
Работа с методамиhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%B0%D0%BC%D0%B8
Возврат результата работы методаhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%92%D0%BE%D0%B7%D0%B2%D1%80%D0%B0%D1%82-%D1%80%D0%B5%D0%B7%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82%D0%B0-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%B0
Работа с классамиhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B0%D0%BC%D0%B8
Работа с объектамиhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%B0%D0%BC%D0%B8
Комментирование кодаhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%9A%D0%BE%D0%BC%D0%BC%D0%B5%D0%BD%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BA%D0%BE%D0%B4%D0%B0
Работа с исключениямиhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D0%B8%D1%81%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D1%8F%D0%BC%D0%B8
Работа с внешним хранилищем данныхhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D0%B2%D0%BD%D0%B5%D1%88%D0%BD%D0%B8%D0%BC-%D1%85%D1%80%D0%B0%D0%BD%D0%B8%D0%BB%D0%B8%D1%89%D0%B5%D0%BC-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85
Особенности Pull Request (PR)https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%9E%D1%81%D0%BE%D0%B1%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D0%B8-pull-request-pr
Работа с шаблонамиhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D0%B0%D0%BC%D0%B8
Работа с литераламиhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D0%BB%D0%B8%D1%82%D0%B5%D1%80%D0%B0%D0%BB%D0%B0%D0%BC%D0%B8
Работа с условиямиhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D1%83%D1%81%D0%BB%D0%BE%D0%B2%D0%B8%D1%8F%D0%BC%D0%B8
Работа с тернарными операторамиhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D1%82%D0%B5%D1%80%D0%BD%D0%B0%D1%80%D0%BD%D1%8B%D0%BC%D0%B8-%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0%D0%BC%D0%B8
Про тестыhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%9F%D1%80%D0%BE-%D1%82%D0%B5%D1%81%D1%82%D1%8B
Использование chain-объектовhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-chain-%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2
Работа со скриптамиhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81%D0%BE-%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%B0%D0%BC%D0%B8
Авторыhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%90%D0%B2%D1%82%D0%BE%D1%80%D1%8B
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#введение
компании Roistathttp://roistat.com/ru/vacancy?roistat=github_codeconv
статье на Хабреhttps://habrahabr.ru/company/roistat/blog/352762/
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#ценности
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#принципы
KISShttps://ru.wikipedia.org/wiki/KISS_(%D0%BF%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF)
SOLIDhttps://en.wikipedia.org/wiki/SOLID_(object-oriented_design)
DRYhttps://ru.wikipedia.org/wiki/Don%E2%80%99t_repeat_yourself
GRASPhttps://ru.wikipedia.org/wiki/GRASP
цикломатическую сложностьhttps://ru.wikipedia.org/wiki/%D0%A6%D0%B8%D0%BA%D0%BB%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D1%81%D0%BB%D0%BE%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D1%8C
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#общие-правила
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-запрещен-неиспользуемый-код
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-не-должны-использоваться-специфичные-функции-какой-то-версии-php-если-их-можно-избежать
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-вместо-отсутствующего-скалярного-значения-используется-null
⬆ наверхhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#правила-разделения-бизнес-логики
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-сервисы
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-контроллеры
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-модели
Работа с объектамиhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%B0%D0%BC%D0%B8
chain-объектыhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-chain-%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-представления
⬆ наверхhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#работа-с-файлами
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-названия-файлов-пишутся-строчными-буквами-через-underscore
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-файлы-классов-должны-быть-расположены-в-директориях-в-соответствии-со-стандартом-psr-0
⬆ наверхhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#работа-с-переменными
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-название-переменных-пишутся-через-camelcase
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-название-переменных-должно-соответствовать-содержанию
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-часто-упоминаемые-объекты-именуются-одинаково-во-всем-проекте
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-признак-объекта-добавляется-к-названию
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-переменные-отражающие-свойства-объекта-должны-включать-название-объекта
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-переменные-по-возможности-должны-называться-на-корректном-английском
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-к-переменной-нельзя-обращаться-по-ссылке-через-
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-переменные-и-свойства-объекта-должны-являться-существительными-и-называться-так-чтобы-они-правильно-читались-при-использовании-а-не-при-инициализации
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-в-названии-переменной-не-должно-быть-указания-типа
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-нельзя-изменять-переменные-которые-передаются-в-метод-на-вход
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-каждая-переменная-должна-быть-объявлена-на-новой-строке
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-нельзя-нескольким-переменным-присваивать-одно-и-то-же-значение
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-инструкция-clone-должна-использоваться-только-в-тех-случаях-когда-без-неё-не-обойтись
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-запрещено-использовать-результат-операции-присваивания
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-нельзя-использовать-константы-через-метод-constant
⬆ наверхhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#логические-переменные-и-методы
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-названия-boolean-методов-и-переменных-должны-содержать-глагол-is-has-или-can
признак объекта добавляется к названиюhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%9F%D1%80%D0%B8%D0%B7%D0%BD%D0%B0%D0%BA-%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%B0-%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D1%8F%D0%B5%D1%82%D1%81%D1%8F-%D0%BA-%D0%BD%D0%B0%D0%B7%D0%B2%D0%B0%D0%BD%D0%B8%D1%8E
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-запрещены-отрицательные-логические-названия
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-не-используйте-boolean-переменные-флаги-как-параметры-функции
⬆ наверхhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#работа-с-массивами
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-для-конкатенации-массивов-запрещено-использовать-оператор-
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-для-проверки-наличия-ключа-в-ассоциативном-массиве-используем-array_key_exists-а-не-isset
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-ассоциативный-массив-мы-используем-как-hashmap
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-нельзя-сортировать-ассоциативные-массивы
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-нельзя-смешивать-в-массиве-строковые-и-числовые-ключи
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-для-проверки-наличия-значения-по-индексу-в-обычных-не-ассоциативных-массивах-используем-countarray--n
⬆ наверхhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#работа-со-строками
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-строки-обрамляются-одинарными-кавычками
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-вместо-лишней-конкатенации-используем-подстановку-переменных-в-двойных-кавычках
⬆ наверхhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#работа-с-датами
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-дата-всегда-должна-быть-представлена-datetime-интервал-как-dateinterval
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-запрещено-создавать-объект-даты-при-помощи-new-datetime
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-если-дата-должна-быть-представлена-скалярным-значением-необходимо-использовать-строку
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-при-работе-с-интерваламипериодами-запрещено-указывать-месяц-или-год
⬆ наверхhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#работа-с-неймспейсами
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-все-неймспейсы-должны-быть-подключены-через-use-в-начале-файла-в-самом-коде-не-должно-быть-обратного-слеша-перед-названием-неймпейса
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-в-свою-очередь-обычные-классы-без-неймспейса-не-должны-быть-подключены-через-use
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-нельзя-подключать-несколько-классов-из-одного-неймспейса-через-use
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-следует-избегать-использования-alias
⬆ наверхhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#работа-с-методами
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-должна-быть-использована-максимально-возможная-типизация-для-вашей-версии-php-все-параметры-и-их-типы-должны-быть-описаны-в-phpdoc-возвращаемое-значение-тоже
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-все-возможные-типы-должны-быть-определены-в-phpdoc
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-в-phpdoc-в-возвращаемом-значении-не-надо-указывать-void-и-null
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-название-метода-должно-начинаться-с-глагола-и-соответствовать-правилам-именования-переменных
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-нельзя-писать-глагол-get-в-геттерах
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-методы-названия-которых-начинаются-c-check-и-validate-должны-кидать-исключения-и-не-возвращать-никакие-значения
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-все-методы-класса-по-умолчанию-должны-быть-private
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-использование-рекурсий-допускается-только-в-исключительном-случае
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-запрещается-кешировать-данные-в-статических-переменных-метода
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-параметры-в-методах-должны-следовать-в-следующем-порядке-обязательные--часто-используемые--редко-используемые
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-если-переменные-объявленные-на-вход-к-методу-могут-быть-null-они-должны-явно-обозначаться-как--null
⬆ наверхhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#возврат-результата-работы-метода
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-метод-всегда-должен-возвращать-только-одну-структуру-данных-или-null-или-ничего-не-возвращать
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-если-метод-возвращает-один-объект-или-скалярный-тип-то-в-случае-если-объект-не-найден-возвращается-null
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-возвращаемая-переменная-обычно-result
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-метод-должен-явно-отличать-нормальные-ситуации-от-исключительных
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-метод-должен-придерживаться-следующей-структуры-проверка-параметров--получение-данных--работа--результат
⬆ наверхhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#работа-с-классами
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-трейты-имеют-постфикс-trait
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-интерфейсы-имеют-постфикс-interface
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-абстрактные-классы-имеют-префикс-abstract
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-все-свойства-класса-по-умолчанию-должны-быть-private
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-методы-и-свойства-в-классе-должны-быть-отсортированы-по-уровням-видимости-и-по-порядку-использования-сверху-вниз
⬆ наверхhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#работа-с-объектами
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-все-объекты-должны-быть-immutable-если-от-них-не-требуется-обратного
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-статические-вызовы-можно-делать-только-у-самого-класса-у-инстанса-можно-обращаться-только-к-его-свойствам-и-методам
⬆ наверхhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#комментирование-кода
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-в-общем-случае-комментарии-запрещены
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-вынужденные-хаки-должны-быть-помечены-комментариями
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-готовые-алгоритмы-взятые-из-внешнего-источника-должны-быть-помечены-ссылкой-на-источник
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-при-разработке-прототипа-допустимо-помечать-участки-кода-todo
⬆ наверхhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#работа-с-исключениями
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-на-каждом-уровне-бизнес-логики-проект-компонент-библиотека-должно-быть-абстрактное-базовое-исключение
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-исключения-сторонних-библиотек-должны-быть-перехвачены-сразу
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-по-умолчанию-тексты-исключений-не-должны-показываться-пользователю
⬆ наверхhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#работа-с-внешним-хранилищем-данных
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-нельзя-делать-запросы-к-внешнему-хранилищу-внутри-цикла-с-заведомо-большим-кол-вом-итераций
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-для-каждой-записи-в-хранилище-должно-быть-понятна-дата-ее-создания
⬆ наверхhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#особенности-pull-request-pr
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-pr-должен-содержать-как-можно-меньше-строк-кода
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-нельзя-смешивать-перенос-методов-в-другие-классы-и-места-и-последующий-рефакторинг-между-собой
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-в-случае-большого-pr--ответственность-за-долгий-просмотр-несет-сам-разработчик-сделавший-такой-pr
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-нельзя-накапливать-изменения-в-какой-то-своей-ветке-и-потом-делать-большой-pr-в-master
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-в-pull-request-не-должно-попадать-кода-не-относящегося-к-задаче
⬆ наверхhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#работа-с-шаблонами
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-в-шаблонах-не-должны-вызываться-методы-объектов-геттеры-не-в-счет
⬆ наверхhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#работа-с-литералами
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-назначение-всех-числовых-литералов-должно-быть-понятным-из-контекста
⬆ наверхhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#работа-с-условиями
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-в-условном-операторе-должно-проверяться-исключительно-boolean-значение
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-в-сравнении-не-booelan-переменных-используется-строгое-сравнение-с-приведением-типа---автоматическое-приведение-не-используется
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-автоматическое-приведение-типов-запрещено-только-при--в-остальных-случаях-знаки---наоборот-рекомендуется
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-не-надо-сравнивать-boolean-с-truefalse
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-проверять-переменные-надо-на-наличие-позитивного-вхождения-а-не-отсутствие-негативного
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-если-вы-используете-встроенную-функцию-php-которая-возвращает-0-1-и-возможно-false-то-при-возможности-результат-ее-работы-используем-в-условии-как-bool-без-дополнительных-сравнений
⬆ наверхhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#работа-с-тернарными-операторами
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-при-использовании-тернарных-операторов-действуют-те-же-правила-что-и-при-использовании-условий
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-тернарный-оператор-следует-использовать-если-обе-ветви-условия-предназначены-для-установки-одной-переменной-одним-языковым-выражением
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-использовать-чейнинг-тернарного-оператора--допустимо-только-при-указании-значения-по-умолчанию
⬆ наверхhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#про-тесты
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-тесты-являются-таким-же-production-кодом-как-и-любой-другой-код
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-в-дата-провайдерах-для-тестов-надо-писать-комментарий-к-структуре-отдаваемого-массива-значений
⬆ наверхhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#использование-chain-объектов
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-метод-с-большим-количеством-необязательных-параметров-а-может-быть-заменен-chain-объектом
⬆ наверхhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#работа-со-скриптами
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#-любой-скрипт-который-изменяет-данные-должен-иметь-подтверждение-перед-выполнением-действий-с-данными-и-debug-по-результатам-работы
⬆ наверхhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions#%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5
https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#авторы
flrnullhttps://github.com/flrnull
m1norhttps://github.com/m1nor
Farengierhttps://github.com/Farengier
Readme https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#readme-ov-file
MIT license https://patch-diff.githubusercontent.com/timurgen/php-code-conventions#MIT-1-ov-file
Please reload this pagehttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions
Activityhttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions/activity
0 starshttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions/stargazers
1 watchinghttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions/watchers
0 forkshttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions/forks
Report repository https://patch-diff.githubusercontent.com/contact/report-content?content_url=https%3A%2F%2Fgithub.com%2Ftimurgen%2Fphp-code-conventions&report=timurgen+%28user%29
Releaseshttps://patch-diff.githubusercontent.com/timurgen/php-code-conventions/releases
Packages 0https://patch-diff.githubusercontent.com/users/timurgen/packages?repo_name=php-code-conventions
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.