{"id":13684375,"url":"https://github.com/dereuromark/cakephp-shim","last_synced_at":"2026-02-07T11:02:53.225Z","repository":{"id":26439152,"uuid":"29889916","full_name":"dereuromark/cakephp-shim","owner":"dereuromark","description":"CakePHP plugin to \"shim\" functionality up and down for major versions of the framework.","archived":false,"fork":false,"pushed_at":"2026-02-07T09:24:02.000Z","size":1076,"stargazers_count":40,"open_issues_count":0,"forks_count":11,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-02-07T10:39:27.334Z","etag":null,"topics":["cakephp","cakephp-plugin","compatibility-wrapper","php","shim"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dereuromark.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2015-01-27T00:44:45.000Z","updated_at":"2026-02-07T08:43:17.000Z","dependencies_parsed_at":"2026-01-04T19:06:00.603Z","dependency_job_id":null,"html_url":"https://github.com/dereuromark/cakephp-shim","commit_stats":{"total_commits":363,"total_committers":7,"mean_commits":"51.857142857142854","dds":0.5399449035812672,"last_synced_commit":"9eb4f2a06329e7e1319ef5c1e7d9347839fa5cdf"},"previous_names":[],"tags_count":83,"template":false,"template_full_name":null,"purl":"pkg:github/dereuromark/cakephp-shim","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dereuromark%2Fcakephp-shim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dereuromark%2Fcakephp-shim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dereuromark%2Fcakephp-shim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dereuromark%2Fcakephp-shim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dereuromark","download_url":"https://codeload.github.com/dereuromark/cakephp-shim/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dereuromark%2Fcakephp-shim/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29193089,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-07T07:37:03.739Z","status":"ssl_error","status_checked_at":"2026-02-07T07:37:03.029Z","response_time":63,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cakephp","cakephp-plugin","compatibility-wrapper","php","shim"],"created_at":"2024-08-02T14:00:32.877Z","updated_at":"2026-02-07T11:02:53.220Z","avatar_url":"https://github.com/dereuromark.png","language":"PHP","funding_links":[],"categories":["Miscellaneous","Plugins"],"sub_categories":["Miscellaneous"],"readme":"# Shim plugin for CakePHP\n[![CI](https://github.com/dereuromark/cakephp-shim/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/dereuromark/cakephp-shim/actions/workflows/ci.yml?query=branch%3Amaster)\n[![Coverage](https://codecov.io/gh/dereuromark/cakephp-shim/branch/master/graph/badge.svg)](https://codecov.io/gh/dereuromark/cakephp-shim)\n[![Latest Stable Version](https://poser.pugx.org/dereuromark/cakephp-shim/v/stable.svg)](https://packagist.org/packages/dereuromark/cakephp-shim)\n[![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%208.2-8892BF.svg)](https://php.net/)\n[![License](https://poser.pugx.org/dereuromark/cakephp-shim/license.svg)](LICENSE)\n[![Total Downloads](https://poser.pugx.org/dereuromark/cakephp-shim/d/total.svg)](https://packagist.org/packages/dereuromark/cakephp-shim)\n[![Coding Standards](https://img.shields.io/badge/cs-PSR--2--R-yellow.svg)](https://github.com/php-fig-rectified/fig-rectified-standards)\n\nShim plugin to \"shim\" functionality up and down for CakePHP major versions.\nIt also provides some small app-specific fixes.\n\n## This branch is for shimming 4.x in 5.x\nIt provides compatibility wrapper access to 4.x functionality in 5.x.\n\nThis is mainly useful when upgrading large applications to the next major framework version.\nTons of code needs to be adjusted, using this Shim plugin quite a few lines less need to be touched.\nEspecially the ORM layer, which would need heavy refactoring, requires a lot less changes to get things working again.\n\nThis branch is for use with **CakePHP 5.1+**. For details see [version map](https://github.com/dereuromark/cakephp-shim/wiki#cakephp-version-map).\n\n\"0-dependency plugin\": Apart from core this plugin has no other dependencies!\n\n## Installation\nPlease see [Install.md](docs/Install.md)\n\n## Usage\nPlease see [Docs](docs/README.md).\n\nA full overview of all shimming between versions can be found in the [Wiki](https://github.com/dereuromark/cakephp-shim/wiki).\n\n## New shims\n- find('list') shim for 1-2 select fields without requiring verbose keyField/valueField options.\n- RequestHandler component for continued easier View class switching across the app\n- LegacyModelAwareTrait for loadModel() shimming\n- former Cake\\Filesystem\\File and Cake\\Filesystem\\Folder classes\n- ModifiedTrait for entities and detecting actually changed fields (not just touched with same value)\n\nNote: AuthComponent lives on in 5.x via [TinyAuth plugin](https://github.com/dereuromark/cakephp-tinyauth) if needed.\n\n## Existing shims from 4.x\n- Controller setup for components and helpers\n- Nullable behavior for better data consistency.\n- `Table::field()` support and `fieldByConditions()` alias to migrate to.\n- Still supports model properties `$primaryKey`, `$displayField`, `$order`, `$validate`, `$actsAs` and all\nrelations (`$belongsTo`, `$hasMany`, ...) as it would be very time-consuming to\nmanually adjust all those.\n- Auto-adds Timestamp behavior if `created` or `modified` field exists in table.\n\n## Helpful links\nWhen planning to upgrade, you should look into official [upgrade docs](https://book.cakephp.org/5/en/appendices/5-0-upgrade-guide.html) as well as the linked upgrade tool.\nThey both contain tons of more ideas on how to get code aligned with the current direction of the framework to reduce friction in the long run.\nAlso see my blog post [dereuromark.de/2023/09/28/cakephp-5-upgrade-guide/](https://www.dereuromark.de/2023/09/28/cakephp-5-upgrade-guide/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdereuromark%2Fcakephp-shim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdereuromark%2Fcakephp-shim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdereuromark%2Fcakephp-shim/lists"}