{"id":13759537,"url":"https://github.com/jplhomer/fresa","last_synced_at":"2026-03-06T12:02:50.743Z","repository":{"id":57002036,"uuid":"99984634","full_name":"jplhomer/fresa","owner":"jplhomer","description":"🍓 Developing WordPress should be sweet.","archived":false,"fork":false,"pushed_at":"2020-09-13T20:43:27.000Z","size":88,"stargazers_count":45,"open_issues_count":8,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-07-21T06:50:30.119Z","etag":null,"topics":["developer-tools","fluent-interface","wordpress"],"latest_commit_sha":null,"homepage":"https://fresa.jplhomer.org","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jplhomer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-08-11T02:44:48.000Z","updated_at":"2024-07-12T02:56:28.000Z","dependencies_parsed_at":"2022-08-21T14:10:43.273Z","dependency_job_id":null,"html_url":"https://github.com/jplhomer/fresa","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/jplhomer/fresa","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jplhomer%2Ffresa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jplhomer%2Ffresa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jplhomer%2Ffresa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jplhomer%2Ffresa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jplhomer","download_url":"https://codeload.github.com/jplhomer/fresa/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jplhomer%2Ffresa/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30175901,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-06T11:48:51.886Z","status":"ssl_error","status_checked_at":"2026-03-06T11:48:51.460Z","response_time":250,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":["developer-tools","fluent-interface","wordpress"],"created_at":"2024-08-03T13:00:55.005Z","updated_at":"2026-03-06T12:02:50.719Z","avatar_url":"https://github.com/jplhomer.png","language":"PHP","funding_links":[],"categories":["PHP"],"sub_categories":[],"readme":"# Fresa\n\n**🍓 Developing WordPress should be sweet.**\n\nUse [Fresa](https://fresa.jplhomer.org) in your plugins and themes to make interacting with the WordPress ecosystem friendly and fast.\n\nTested on **WordPress 4.8** and requires **PHP 7+**. Your mileage may vary.\n\n```php\nuse Fresa\\PostModel;\n\nclass Event extends PostModel\n{\n    $postType = 'my_custom_post_type';\n}\n```\n\nRegister your custom post types in one line:\n\n```php\nEvent::register();\n```\n\nInteract with your post in an object-oriented fashion:\n\n```php\n$event = new Event;\n$event-\u003etitle = 'Hello World.';\n$event-\u003evenue = 'Times Square';\n$event-\u003esave();\n\necho $event-\u003eid; // 1\necho $event-\u003evenue; // 'Times Square';\n// Same as get_post_meta(1, 'venue', true);\n```\n\nAnd perform queries through a fluent interface:\n\n```php\n$event = Event::find(1);\n$events = Event::where('venue', 'Times Square')\n                -\u003eorder('date', 'asc')\n                -\u003elimit(5)\n                -\u003eoffset(5)\n                -\u003eget();\n```\n\nQueries return a [Collection instance](https://laravel.com/docs/5.4/collections):\n\n```php\n$events-\u003eeach(function($event) {\n    echo $event-\u003etitle;\n});\n```\n\n## Installation\n\n```sh\ncomposer require jplhomer/fresa\n```\n\n**[Read the full documentation here](https://fresa.jplhomer.org)**.\n\n## Development\n\n```sh\ncomposer install\n```\n\n### Running Tests\n\nFirst, set up the required WordPress testing library on your machine:\n\n```bash\n# Replace db-name, db-user, db-pass with arguments of a database to be created\n# If you already have a database, pass `true` to the last argument, e.g.\n# wptests root '' 127.0.0.1 latest true\n./bin/install-wp-tests.sh \u003cdb-name\u003e \u003cdb-user\u003e \u003cdb-pass\u003e [db-host] [wp-version] [skip-database-creation]\n```\n\nRun tests using PHPUnit:\n\n```bash\nvendor/bin/phpunit\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjplhomer%2Ffresa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjplhomer%2Ffresa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjplhomer%2Ffresa/lists"}