{"_id":"5771f7de01e8110e0041ada8","version":{"_id":"576ebdb79c84a31900958abd","project":"576ebdb79c84a31900958aba","__v":10,"createdAt":"2016-06-25T17:21:59.854Z","releaseDate":"2016-06-25T17:21:59.854Z","categories":["576ebdb79c84a31900958abe","576ebfc59c84a31900958ac4","576ec32f52f96619007cfb9a","576ec7b7560eef0e00cd3096","576ed4249c84a31900958add","576ed429560eef0e00cd30a3","576ed43a52f96619007cfbb5","576ed44d5a8c72170082b794","577212f20da40019004f0816","57725c7e0a6d610e00de9e4c"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"3.3.0","version":"3.3"},"parentDoc":null,"project":"576ebdb79c84a31900958aba","__v":10,"category":{"_id":"576ed44d5a8c72170082b794","__v":0,"project":"576ebdb79c84a31900958aba","version":"576ebdb79c84a31900958abd","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2016-06-25T18:58:21.694Z","from_sync":false,"order":4,"slug":"foundations","title":"Foundations"},"user":"576ebd239c84a31900958ab9","updates":[],"next":{"pages":[],"description":""},"createdAt":"2016-06-28T04:06:54.940Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":1,"body":"Facades provide a \"static\" interface to classes that are available in the application's IoC container. Orchestra Platform ships with many facades, and you have probably been using them without even knowing it! Orchestra Platform \"facades\" serve as \"static proxies\" to underlying classes in the IoC container, providing the benefit of a terse, expressive syntax while maintaining more testability and flexibility than traditional static methods.\n\nOccasionally, you may wish to create your own facades for your application's and packages, so let's explore the concept, development and usage of these classes.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Class Reference\"\n}\n[/block]\nList of available facades on Orchestra Platform.\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"Facade\",\n    \"h-1\": \"Root Accessor\",\n    \"h-2\": \"Service Location\",\n    \"h-3\": \"Alias\",\n    \"0-0\": \"`Orchestra\\\\Support\\\\Facades\\\\ACL`\",\n    \"0-1\": \"`Orchestra\\\\Authorization\\\\Factory`\",\n    \"0-2\": \"`orchestra.acl`\",\n    \"0-3\": \"`ACL`\",\n    \"1-0\": \"`Orchestra\\\\Support\\\\Facades\\\\Asset`\",\n    \"1-1\": \"`Orchestra\\\\Asset\\\\Factory`\",\n    \"1-2\": \"`orchestra.asset`\",\n    \"1-3\": \"`Asset`\",\n    \"2-0\": \"`Orchestra\\\\Support\\\\Facades\\\\Config`\",\n    \"2-1\": \"`Orchestra\\\\Extension\\\\Config\\\\Repository`\",\n    \"2-2\": \"`orchestra.extension.config`\",\n    \"2-3\": \"-\",\n    \"3-0\": \"`Orchestra\\\\Support\\\\Facades\\\\Decorator`\",\n    \"3-1\": \"`Orchestra\\\\View\\\\Decorator`\",\n    \"3-2\": \"`orchestra.decorator`\",\n    \"3-3\": \"-\",\n    \"4-0\": \"`Orchestra\\\\Support\\\\Facades\\\\Extension`\",\n    \"4-1\": \"`Orchestra\\\\Extension\\\\Factory`\",\n    \"4-2\": \"`orchestra.extension`\",\n    \"4-3\": \"-\",\n    \"5-0\": \"`Orchestra\\\\Support\\\\Facades\\\\Form`\",\n    \"5-1\": \"`Orchestra\\\\Html\\\\Form\\\\Factory`\",\n    \"5-2\": \"`orchestra.form`\",\n    \"5-3\": \"`Form`\",\n    \"6-3\": \"`Foundation`\",\n    \"6-2\": \"`orchestra.app`\",\n    \"6-1\": \"`Orchestra\\\\Foundation\\\\Foundation`\",\n    \"6-0\": \"`Orchestra\\\\Support\\\\Facades\\\\Foundation`\",\n    \"7-0\": \"`Orchestra\\\\Support\\\\Facades\\\\HTML`\",\n    \"7-1\": \"`Orchestra\\\\Html\\\\HtmlBuilder`\",\n    \"7-2\": \"`html`\",\n    \"7-3\": \"`HTML`\",\n    \"8-1\": \"`Orchestra\\\\Notifier\\\\Mailer`\",\n    \"8-0\": \"`Orchestra\\\\Support\\\\Facades\\\\Mail`\",\n    \"8-2\": \"`orchestra.mail`\",\n    \"8-3\": \"`Mailer`\",\n    \"9-0\": \"`Orchestra\\\\Support\\\\Facades\\\\Memory`\",\n    \"9-1\": \"`Orchestra\\\\Memory\\\\MemoryManager`\",\n    \"9-2\": \"`orchestra.memory`\",\n    \"9-3\": \"`Memory`\",\n    \"10-3\": \"`Messages`\",\n    \"10-0\": \"`Orchestra\\\\Support\\\\Facades\\\\Messages`\",\n    \"10-1\": \"`Orchestra\\\\Messages\\\\MessageBag`\",\n    \"10-2\": \"`orchestra.messages`\",\n    \"11-0\": \"`Orchestra\\\\Support\\\\Facades\\\\Meta`\",\n    \"11-1\": \"`Orchestra\\\\Foundation\\\\Meta`\",\n    \"11-2\": \"`orchestra.meta`\",\n    \"11-3\": \"`Meta`\",\n    \"12-0\": \"`Orchestra\\\\Support\\\\Facades\\\\Notifier`\",\n    \"12-1\": \"`Orchestra\\\\Notifier\\\\NotifierManager`\",\n    \"12-2\": \"`orchestra.notifier`\",\n    \"12-3\": \"`Notifier`\",\n    \"13-0\": \"`Orchestra\\\\Support\\\\Facades\\\\Publisher`\",\n    \"13-1\": \"`Orchestra\\\\Foundation\\\\Publisher\\\\PublisherManager`\",\n    \"13-2\": \"`orchestra.publisher`\",\n    \"13-3\": \"-\",\n    \"14-0\": \"`Orchestra\\\\Support\\\\Facades\\\\Table`\",\n    \"14-1\": \"`Orchestra\\\\Html\\\\Table\\\\Factory`\",\n    \"14-2\": \"`orchestra.table`\",\n    \"14-3\": \"`Table`\",\n    \"15-0\": \"`Orchestra\\\\Support\\\\Facades\\\\Theme`\",\n    \"15-1\": \"`Orchestra\\\\View\\\\Theme\\\\ThemeManager`\",\n    \"15-2\": \"`orchestra.theme`\",\n    \"15-3\": \"`Theme`\",\n    \"16-0\": \"`Orchestra\\\\Support\\\\Facades\\\\Widget`\",\n    \"16-1\": \"`Orchestra\\\\Widget\\\\WidgetManager`\",\n    \"16-2\": \"`orchestra.widget`\",\n    \"16-3\": \"-\"\n  },\n  \"cols\": 4,\n  \"rows\": 17\n}\n[/block]","excerpt":"","slug":"facades","type":"basic","title":"Facades"}
Facades provide a "static" interface to classes that are available in the application's IoC container. Orchestra Platform ships with many facades, and you have probably been using them without even knowing it! Orchestra Platform "facades" serve as "static proxies" to underlying classes in the IoC container, providing the benefit of a terse, expressive syntax while maintaining more testability and flexibility than traditional static methods. Occasionally, you may wish to create your own facades for your application's and packages, so let's explore the concept, development and usage of these classes. [block:api-header] { "type": "basic", "title": "Class Reference" } [/block] List of available facades on Orchestra Platform. [block:parameters] { "data": { "h-0": "Facade", "h-1": "Root Accessor", "h-2": "Service Location", "h-3": "Alias", "0-0": "`Orchestra\\Support\\Facades\\ACL`", "0-1": "`Orchestra\\Authorization\\Factory`", "0-2": "`orchestra.acl`", "0-3": "`ACL`", "1-0": "`Orchestra\\Support\\Facades\\Asset`", "1-1": "`Orchestra\\Asset\\Factory`", "1-2": "`orchestra.asset`", "1-3": "`Asset`", "2-0": "`Orchestra\\Support\\Facades\\Config`", "2-1": "`Orchestra\\Extension\\Config\\Repository`", "2-2": "`orchestra.extension.config`", "2-3": "-", "3-0": "`Orchestra\\Support\\Facades\\Decorator`", "3-1": "`Orchestra\\View\\Decorator`", "3-2": "`orchestra.decorator`", "3-3": "-", "4-0": "`Orchestra\\Support\\Facades\\Extension`", "4-1": "`Orchestra\\Extension\\Factory`", "4-2": "`orchestra.extension`", "4-3": "-", "5-0": "`Orchestra\\Support\\Facades\\Form`", "5-1": "`Orchestra\\Html\\Form\\Factory`", "5-2": "`orchestra.form`", "5-3": "`Form`", "6-3": "`Foundation`", "6-2": "`orchestra.app`", "6-1": "`Orchestra\\Foundation\\Foundation`", "6-0": "`Orchestra\\Support\\Facades\\Foundation`", "7-0": "`Orchestra\\Support\\Facades\\HTML`", "7-1": "`Orchestra\\Html\\HtmlBuilder`", "7-2": "`html`", "7-3": "`HTML`", "8-1": "`Orchestra\\Notifier\\Mailer`", "8-0": "`Orchestra\\Support\\Facades\\Mail`", "8-2": "`orchestra.mail`", "8-3": "`Mailer`", "9-0": "`Orchestra\\Support\\Facades\\Memory`", "9-1": "`Orchestra\\Memory\\MemoryManager`", "9-2": "`orchestra.memory`", "9-3": "`Memory`", "10-3": "`Messages`", "10-0": "`Orchestra\\Support\\Facades\\Messages`", "10-1": "`Orchestra\\Messages\\MessageBag`", "10-2": "`orchestra.messages`", "11-0": "`Orchestra\\Support\\Facades\\Meta`", "11-1": "`Orchestra\\Foundation\\Meta`", "11-2": "`orchestra.meta`", "11-3": "`Meta`", "12-0": "`Orchestra\\Support\\Facades\\Notifier`", "12-1": "`Orchestra\\Notifier\\NotifierManager`", "12-2": "`orchestra.notifier`", "12-3": "`Notifier`", "13-0": "`Orchestra\\Support\\Facades\\Publisher`", "13-1": "`Orchestra\\Foundation\\Publisher\\PublisherManager`", "13-2": "`orchestra.publisher`", "13-3": "-", "14-0": "`Orchestra\\Support\\Facades\\Table`", "14-1": "`Orchestra\\Html\\Table\\Factory`", "14-2": "`orchestra.table`", "14-3": "`Table`", "15-0": "`Orchestra\\Support\\Facades\\Theme`", "15-1": "`Orchestra\\View\\Theme\\ThemeManager`", "15-2": "`orchestra.theme`", "15-3": "`Theme`", "16-0": "`Orchestra\\Support\\Facades\\Widget`", "16-1": "`Orchestra\\Widget\\WidgetManager`", "16-2": "`orchestra.widget`", "16-3": "-" }, "cols": 4, "rows": 17 } [/block]