CINXE.COM

Joomla! Framework, a framework for developing PHP applications

<!DOCTYPE html> <html lang="en" dir="ltr"> <head> <!-- For Responsive --> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <link rel="stylesheet" href="/media/css/template.css?id=42bfe0998790c65b9256a06f90bf5aa3" type="text/css" crossorigin="anonymous" integrity="sha384-sDmUczFF5j9FUDfpHwyc8tYSg7PzAE2qsZp8ajpm/vEe4LajWt9DPILphgJ4I52A"> <!-- End for Responsive --> <!-- For SEO --> <title>Joomla! Framework, a framework for developing PHP applications</title> <meta charset="utf-8"> <meta name="description" content="The Joomla! Framework provides a structurally sound foundation on which to build applications in PHP, which is easy to adapt and extend. Let's find out more!"> <meta name="generator" content="Joomla! Framework" /> <meta property="og:description" content="The Joomla! Framework provides a structurally sound foundation on which to build applications in PHP, which is easy to adapt and extend. Let's find out more!" /> <meta property="og:locale" content="en_US" /> <meta property="og:site_name" content="Joomla! Framework" /> <meta property="og:title" content="Joomla! Framework, a framework for developing PHP applications" /> <meta property="og:type" content="website" /> <meta property="og:url" content="https://framework.joomla.org/" /> <meta name="twitter:card" content="summary" /> <meta name="twitter:site" content="@JoomlaFramework" /> <meta name="twitter:description" content="The Joomla! Framework provides a structurally sound foundation on which to build applications in PHP, which is easy to adapt and extend. Let's find out more!" /> <meta name="twitter:title" content="Joomla! Framework, a framework for developing PHP applications" /> <!-- End for SEO --> <!-- For Misc --> <link href="favicon.ico" rel="shortcut icon" /> <!-- End for misc --> </head> <body id="go"> <nav class="container-fluid homepage" data-scroll-header> <ul> <li><a data-scroll href="#go"><span class="fas fa-cloud-download-alt" aria-hidden="true"></span><span class="title">Download</span></a></li> <li><a data-scroll href="#about"><span class="fas fa-info-circle" aria-hidden="true"></span><span class="title">About</span></a></li> <li><a data-scroll href="#involved"><span class="fas fa-globe-americas" aria-hidden="true"></span><span class="title">Get Involved</span></a></li> <li><a data-scroll href="#resources"><span class="fas fa-book" aria-hidden="true"></span><span class="title">Resources</span></a></li> <li><a href="/status"><span class="fas fa-wrench" aria-hidden="true"></span><span class="title">Status</span></a></li> </ul> </nav> <main> <section class="go"> <div class="container"> <h1>Joomla! Framework</h1> <h2>Download &amp; Go</h2> <span class="fas fa-5x fa-cloud-download-alt" aria-hidden="true"></span> <div class="cta clearfix"> <div>Designed by software developers for software developers. Easy to Adapt. Easy to Extend.</div> <div><a href="https://getcomposer.org/download/" class="btn btn-lg btn-success float-left">Download Composer</a> <a href="https://github.com/joomla-framework" class="btn btn-lg btn-info float-right">GitHub Organization</a></div> </div> </div> </section> <hr id="about" /> <section class="about container"> <span class="fas fa-info-circle marker" aria-hidden="true"></span> <h3 class="centered-title">What is the Joomla! Framework?</h3> <p>The Joomla! Framework&#8482 is a new PHP framework (a collection of software libraries/packages) for writing web and command line applications in PHP, without the features and corresponding overhead found in the Joomla! Content Management System (CMS). It provides a structurally sound foundation, which is easy to adapt and easy to extend.</p> <p>The Joomla! Framework is free and open source software, distributed under the GNU General Public License version 2 or later; and is comprised of code originally developed for the Joomla! CMS&#8482.</p> <p>The Joomla! Framework should not be confused with the hugely popular Joomla! CMS. It is important to remember that you do not need to install the Joomla! Framework to use the CMS, nor do you need to install the Joomla! CMS to use the Framework.</p> <img class="img-fluid mx-auto structure" src="/media/images/FrameworkDiagram-712x350.png" alt="The versatility and structure of the Joomla! Framework" /> <h4>Getting Started</h4> <p>The new Joomla! Framework is now available to install via Composer and you can find the list of packages on <a href="https://packagist.org/packages/joomla/">Packagist.org</a>. There are plenty of avenues you can explore to get started on working with the Framework.</p> <p>For the official docs, check out the <code>README.md</code> file found in each package. You can also review the <a href="https://github.com/joomla-framework">Joomla! Framework organization on GitHub</a>.</p> <h4>Get the Sample Application</h4> <p>One of the easiest ways to get to know the Joomla! Framework is to start with looking at a sample application. This site is powered by the Joomla! Framework and serves as a great example of using the Framework.</p> <ol> <li>Install Composer.</li> <li>Download this <a href="https://github.com/joomla/framework.joomla.org">website application</a> repository from GitHub.</li> <li>Run <code>composer install</code>.</li> <li>View in your browser.</li> </ol> <h4>Why build the Joomla! Framework?</h4> <p>Separating the framework from the CMS was a big deal, and in retrospect, a smart decision. By separating the two code bases Joomla!&reg; can now offer the stability the CMS requires while still taking advantage of current and modern trends in PHP development.</p> <a href="/media/images/FrameworkRoadmap-1200x650.png"> <img class="img-fluid mx-auto structure" src="/media/images/FrameworkRoadmap-960x520.png" alt="The current and future roles of the Joomla! Framework" /> </a> <h4>What is the Framework good for?</h4> <ul> <li>Building a RESTful web services platform</li> <li>Building both simple and complex command line tools</li> <li>Building next generation web applications</li> </ul> <p>A great example is the <a href="https://issues.joomla.org">issue tracker for the Joomla! CMS</a>.</p> <h4>Framework Architecture</h4> <p>The Joomla! Framework has also been designed for maximum flexibility. Breaking the Framework into isolated modular packages allows each package to evolve more easily than if all packages are tied to a single, large package release.</p> <p>Gone are the days when a PHP framework must offer anything and everything a developer needs to complete a project. The current and widely adopted modern practice is to employ lightweight independent feature-specific packages.</p> <p>The Framework is distributed with <a href="https://getcomposer.org">Composer</a>, and as such, allows you to include any other PHP code packages that you can install using Composer. And that's a LOT! Take a look at <a href="https://packagist.org/">Packagist.org</a> to see the kind and quality of code which becomes available when using Composer for dependency management.</p> <h4>What does the Joomla! Framework mean for you?</h4> <p>Whether you are a Joomla! extension developer looking to spread your wings &amp; delve into developing standalone applications or a PHP coder looking for a stable lightweight framework for your next app, the Framework provides benefits for everyone.</p> <h4>I am already developing Extensions for the Joomla! CMS. Why should I consider using the Joomla! Framework?</h4> <p>You have invested significant time &amp; effort in learning the Joomla! way of doing things &amp; writing extensions. You can now apply this same knowledge within a non-CMS environment because the Joomla! Framework maintains a similar set of function, class, and method names.</p> <p>It's important to keep in mind other situations, such as what happens when you land a project that needs a different type of application. Or when something doesn't really fit into the website or CMS box, or the CMS is simply too much overhead. There may be times when you need a simple tool to migrate data from one Business Intelligence system to another or a lightweight RESTful service to talk to a mobile application. These are all cases when a framework-based application will prove much more beneficial.</p> <p>These are only a few of the many situations where a framework based solution would work far better than attempting to shoehorn a solution into the Joomla! CMS. The Joomla! Framework allows you to leverage all that Joomla! knowledge to build apps without the overhead of the CMS.</p> <h4>I know PHP already. Why should I use this framework?</h4> <p>If you are a strong coder looking for a lightweight framework that is easy to adapt and extend, you are in the right place.</p> <p>The Joomla! Framework is available using Composer. This allows you to build projects from the many packages included in the Joomla! Framework as well as packages that best fit your needs from any of the other PHP frameworks that use Composer.</p> <h4>I am a Joomla! CMS User. How will I be affected?</h4> <p>The Joomla! CMS and the Joomla! Framework are currently developed independently and, thus, the Framework's launch will not have an immediate impact for you. However, there are already parts of the Framework integrated into the CMS (e.g. the Dependency Injection package, added in Joomla! 3.2), and more is coming. Expect to see some great extensions made available to you, built using the Framework!</p> <p>The Joomla! Framework aims at getting the latest in PHP developments and features into Joomla! at the framework level. This allows the CMS to better focus its aims on providing the best features for its end users and staying ahead of the game.</p> <p>Bottom line, you can rest assured that your favorite CMS will continue to have a strong, up-to-date and robust base that can evolve with the web.</p> </section> <hr id="involved" /> <section class="container"> <span class="fas fa-globe-americas marker" aria-hidden="true"></span> <h3 class="centered-title">Get Involved</h3> <h4>Support</h4> <p class="lead">The Joomla! Framework incorporated support in a simple step-by-step process. You can quickly determine the best way to get help by following one of the options below:</p> <h5>First Option: Just Fix it</h5> <p>Developers are encouraged to take an active approach with the Framework, including future updates and development. If you find a problem or bug and can fix the issue directly, then you can fix the issue and submit a pull request against the repository.</p> <p>Not sure how to get started with submitting a pull request? You can view <a href="https://docs.joomla.org/Working_with_git_and_github/My_first_pull_request" target="_blank">pull request tutorials</a> in the Joomla! Documentation wiki.</p> <h5>Second Option: Report it</h5> <p>If you find an issue in a Framework package and cannot fix the issue directly, then the next step is to report the problem. Issues can be reported on the <a href="https://github.com/joomla-framework" target="_blank">Joomla! Framework organization</a> under the appropriate package. Submitting an issue here will help everyone track issues in a central location. Please be available to add comments and respond to questions related to your issue as other developers begin assisting in writing code to fix the issue.</p> <p>More information regarding <a href="https://developer.joomla.org/framework/report-an-issue.html">reporting issues</a> can be found here.</p> <h5>Other Option: Learn it</h5> <p>Perhaps as you're working with the Framework you find a feature or an issue that you are simply unsure about how to use it. In this case, it would not be appropriate to attempt either of the steps listed above. You can take advantage of the <a href="https://groups.google.com/group/joomla-dev-framework" target="_blank">Joomla! Framework mailing list</a> where you can get help from other developers.</p> <p>Be respectful and courteous in the mailing list and you will receive quick helpful feedback to help you better utilize the Framework to its full potential.</p> <aside class="get-involved"> <div class="involved-cta card bg-light"> <div class="card-body"> <h4 class="card-title">Google Group</h4> <p class="card-text">A tried and tested method of communication, it is a quick and easy way for you to ask any questions, offer suggestions, and voice your opinion.</p> </div> <div class="card-footer bg-transparent text-center border-top-0"> <a href="https://groups.google.com/group/joomla-dev-framework" class="btn btn-success">Framework Google Group</a> </div> </div> <div class="involved-cta card bg-light"> <div class="card-body"> <h4 class="card-title">GitHub</h4> <p class="card-text">Are you a GitHub Junkie? Wanna dive into the exact code, or grab it straight from the source? Then GitHub should be perfect for you.</p> </div> <div class="card-footer bg-transparent text-center border-top-0"> <a href="https://github.com/joomla-framework" class="btn btn-success">Official GitHub organization</a> </div> </div> <div class="involved-cta card bg-light"> <div class="card-body"> <h4 class="card-title">Support Joomla! through Open Source Matters</h4> <p class="card-text">Open Source Matters serves the financial and legal interests of the Joomla! project. By supporting them you are directly supporting the Joomla! project itself.</p> </div> <div class="card-footer bg-transparent text-center border-top-0"> <a href="https://www.joomla.org/sponsor.html" class="btn btn-success">Sponsor Joomla! today</a> </div> </div> <div class="involved-cta card bg-light"> <div class="card-body"> <h4 class="card-title">RSS</h4> <p class="card-text">Are you an RSS buff? Get the latest developer news at your fingertips.</p> </div> <div class="card-footer bg-transparent text-center border-top-0"> <a href="https://developer.joomla.org/news.html" class="btn btn-success">Developer News</a> </div> </div> </aside> </section> </main> <footer class="clearfix" role="contentinfo" id="resources"> <div class="container homepage-footer"> <div class="footer-area resources"> <h3><span class="fas fa-book" aria-hidden="true"></span> Resources</h3> <p><a href="https://packagist.org/packages/joomla/">Packagist</a></p> <p><a href="https://getcomposer.org/download/">Download Composer</a></p> <p><a href="https://github.com/joomla-framework">GitHub Organization</a></p> <p><a href="https://developer.joomla.org/framework/documentation.html">Documentation</a></p> <p><a href="https://groups.google.com/group/joomla-dev-framework">Official Group</a></p> <p><a href="https://www.joomla.org/sponsor.html">Support via OSM</a></p> <p><a href="/contribute">Contributing to the Framework</a></p> <p><a href="https://developer.joomla.org/roadmap.html#framework">Roadmap</a></p> <p><a href="/api">Website API</a></p> </div> <div class="footer-area subscribe"> <h3>Subscribe</h3> <p>Subscribe to the Google Group mailing list.</p> <form action="https://groups.google.com/group/joomla-dev-framework/boxsubscribe" class="form-inline signup" role="form"> <label class="sr-only" for="email">Email address</label> <input type="email" id="email" name="email" placeholder="Email Address" class="form-control mr-sm-2" required> <button type="submit" class="btn btn-primary" name="sub">Subscribe</button> </form> </div> <div class="footer-area case-studies"> <h3>Case Studies</h3> <p>This framework powers Joomla's own issue tracker. See this Framework-based application in operation at <a href="https://issues.joomla.org">issues.joomla.org</a></p> <p>Also, it already has been adopted by the likes of eBay for internal use. Some of the code offered by Joomla! Framework is already included with the Joomla! CMS. Other packages will be included in future Joomla! CMS versions as needed.</p> <p><a href="https://groups.google.com/group/joomla-dev-framework">Join the Google Group</a> and let us know how you have implemented it.</p> </div> <div class="footer-area copyright"> <a data-scroll href="#go" class="float-right">Back to top</a> <p>&copy; 2005 - 2024 Open Source Matters, Inc. All rights reserved.<br /> The Joomla!&reg; name and symbol, Joomla! Framework&#8482 and symbol, The Joomla! Project&#8480 and Joomla! CMS&#8482 are all trademarks and service marks of Open Source Matters, Inc. in the United States and other countries.</p> <p>Help improve this site by submitting issues and pull requests on <a href="https://github.com/joomla/framework.joomla.org">GitHub</a>.</p> <div class="hosting text-center"> <div class="host-img"> <a href="https://www.rochen.com/joomla-hosting/" target="_blank" class="rochen">Rochen</a> </div> <div class="host-text"> <a href="https://www.rochen.com/joomla-hosting/" target="_blank">Joomla! Hosting by Rochen</a> </div> </div> </div> </div> </footer> <script src="/media/js/template.js?id=7c9153a9e6cca03a1bc2418c3ac10c24" crossorigin="anonymous" integrity="sha384-8Hw6nxS/mlXhPlzl+P3F/U1F2mhZF4rgSxe1cBQ8d4pztuUHWJ7PoRG+l/BFrIAV"></script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10