{"id":13862716,"url":"https://github.com/emacs-php/ede-php-autoload","last_synced_at":"2026-02-22T19:15:25.855Z","repository":{"id":32547942,"uuid":"36130210","full_name":"emacs-php/ede-php-autoload","owner":"emacs-php","description":"PHP autoloading simulation for Emacs' Semantic","archived":false,"fork":false,"pushed_at":"2025-08-12T06:04:34.000Z","size":134,"stargazers_count":23,"open_issues_count":1,"forks_count":6,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-10-11T15:00:05.814Z","etag":null,"topics":["emacs","emacs-modules","emacs-packages","php"],"latest_commit_sha":null,"homepage":"","language":"Emacs Lisp","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/emacs-php.png","metadata":{"files":{"readme":"README.org","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"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}},"created_at":"2015-05-23T15:48:40.000Z","updated_at":"2025-08-12T06:04:31.000Z","dependencies_parsed_at":"2024-03-27T08:30:39.721Z","dependency_job_id":"d3b19520-a9fa-4bc6-9f76-08d5e7f1e614","html_url":"https://github.com/emacs-php/ede-php-autoload","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/emacs-php/ede-php-autoload","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emacs-php%2Fede-php-autoload","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emacs-php%2Fede-php-autoload/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emacs-php%2Fede-php-autoload/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emacs-php%2Fede-php-autoload/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/emacs-php","download_url":"https://codeload.github.com/emacs-php/ede-php-autoload/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emacs-php%2Fede-php-autoload/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29723836,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-22T19:15:09.475Z","status":"ssl_error","status_checked_at":"2026-02-22T19:15:09.045Z","response_time":110,"last_error":"SSL_read: 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":["emacs","emacs-modules","emacs-packages","php"],"created_at":"2024-08-05T06:01:50.681Z","updated_at":"2026-02-22T19:15:25.832Z","avatar_url":"https://github.com/emacs-php.png","language":"Emacs Lisp","funding_links":[],"categories":["Emacs Lisp"],"sub_categories":[],"readme":"#+TITLE: ede-php-autoload\n\n[[http://melpa.org/#/ede-php-autoload][file:http://melpa.org/packages/ede-php-autoload-badge.svg]] [[http://stable.melpa.org/#/ede-php-autoload][file:http://stable.melpa.org/packages/ede-php-autoload-badge.svg]] [[https://travis-ci.org/emacs-php/ede-php-autoload][file:https://travis-ci.org/emacs-php/ede-php-autoload.svg]]\n\n* Description\n\n  This project simulates PHP autoloading system to use it in\n  Semantic. It is composed of 3 parts:\n\n  - An *EDE project*, =ede-php-autoload=, that defines autoloading\n    configuration for a project. It is able to parse =composer.json=\n    files to extract autoloading information from it\n  - A *SemanticDB backend* that can find a tag by name using the\n    autoload information of the current =ede-php-autoload= project\n  - A *minor mode*, =ede-php-autoload-mode=, that enables the\n    SemanticDB backend for a buffer.\n\n* Defining autoloads for a project\n\n  Let's assume we have a project located at =/home/me/my-project=. It\n  has 3 namespaces:\n\n  - =MyFirstNs=, located at =src/MyFirstNs=, and uses the PSR-0 norm\n  - =MySecondNs=, located at =src/MySecondNs=, and uses the PSR-4 norm\n  - =ThirdPartyNs=, located at =vendor/third-party/src=, and uses the PSR-4 norm\n\n  Defining this project and its autoload information is done like this:\n\n  #+BEGIN_SRC emacs-lisp\n    (ede-php-autoload-project \"My project\"\n                              :file \"/home/me/my-project/main.php\"\n                              :class-autoloads '(:psr-0 ((\"MyFirstNs\" . \"src/MyFirstNs\"))\n                                                 :psr-4 ((\"MySecondNs\" . \"src/MySecondNs\")\n                                                         (\"ThirdPartyNs\" . \"vendor/third-party/src\"))))\n  #+END_SRC\n\n  If you have a =composer.json= at the root of your project, its\n  autoload information (and also the one in the composer dependencies)\n  will be merged with the information you put in =:class-autoloads=.\n\n  If your =composer.json= contains all the autoload information, and\n  you have nothing to add in =:class-autoloads=, you don't have to\n  define an EDE project by hand. It will be automatically created when\n  you visit a file in your project.\n\n* Enabling the SemanticDB backend in php buffers\n\n  #+BEGIN_SRC emacs-lisp\n    (add-hook 'php-mode-hook #'ede-php-autoload-mode)\n  #+END_SRC\n\n* Commands\n\n  | Name                                    | Description                                                    |\n  |-----------------------------------------+----------------------------------------------------------------|\n  | ~M-x ede-php-autoload-reload-autoloads~ | Similar to the reindexation in IDEs. Use it when your composer configuration changed to reload the autoloads. |\n\n* License\n\n  This project is released under the GPL v3 license. See =GPL= for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femacs-php%2Fede-php-autoload","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Femacs-php%2Fede-php-autoload","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femacs-php%2Fede-php-autoload/lists"}