Deprecated: Function get_magic_quotes_gpc() is deprecated in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 99
Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 619
Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 832
Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839
Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839
Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839
Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839
Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839
Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839
Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839
Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839
Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839
Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839
Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839
Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839
Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839
Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839
(window.webpackJsonp=window.webpackJsonp||[]).push([[48],{337:function(a,t,s){"use strict";s.r(t);var n=s(7),e=Object(n.a)({},(function(){var a=this,t=a.$createElement,s=a._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[s("div",{staticClass:"pb-8 border-b border-gray-300"},[s("h1",[a._v("Contributte Apitte-core")]),a._v(" "),s("div"),a._v(" "),s("div",{staticClass:"flex flex-col space-y-2 mt-2"},[s("div",{staticClass:"flex flex-row space-x-2 items-center"},[s("img",{staticClass:"opacity-50",attrs:{loading:"lazy",src:"https://obr.vercel.app/fa/b/github/16"}}),a._v(" "),s("a",{attrs:{href:"https://github.com/contributte/apitte-core"}},[a._v("github.com/contributte/apitte-core")])]),a._v(" "),s("div",{staticClass:"flex flex-row space-x-2 items-center"},[s("img",{staticClass:"opacity-50",attrs:{loading:"lazy",src:"https://obr.vercel.app/fa/s/download/16"}}),a._v(" "),s("a",{attrs:{href:"https://packagist.org/packages/apitte/core",target:"_blank"}},[a._v("packagist.org/packages/apitte/core")])])])]),a._v(" "),s("p",[a._v("Internally all annotations from controllers are used to build api schema.\nIt is basically metadata describing whole api.\nEndpoints, routing, openapi, ...")]),a._v(" "),s("h2",{attrs:{id:"openapi"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#openapi"}},[a._v("#")]),a._v(" OpenApi")]),a._v(" "),s("p",[a._v("Apitte api schema is used to generate "),s("a",{attrs:{href:"https://github.com/OAI/OpenAPI-Specification",target:"_blank",rel:"noopener noreferrer"}},[a._v("OpenApi"),s("OutboundLink")],1),a._v(" schema.")]),a._v(" "),s("p",[a._v("You could also define OpenApi schema directly if you need define things that are not directly supported by apitte schema.")]),a._v(" "),s("p",[a._v("See "),s("a",{attrs:{href:"https://github.com/apitte/openapi",target:"_blank",rel:"noopener noreferrer"}},[a._v("apitte/openapi docs"),s("OutboundLink")],1),a._v(" for more info.")]),a._v(" "),s("h2",{attrs:{id:"loaders"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#loaders"}},[a._v("#")]),a._v(" Loaders")]),a._v(" "),s("p",[a._v("Loads api schema")]),a._v(" "),s("blockquote",[s("p",[a._v("Known limitation:\nCurrently is not possible to define own loaders.")])]),a._v(" "),s("h3",{attrs:{id:"doctrineannotationsloader"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#doctrineannotationsloader"}},[a._v("#")]),a._v(" DoctrineAnnotationsLoader")]),a._v(" "),s("p",[a._v("Default loader which loads schema from annotations.")]),a._v(" "),s("p",[a._v("See "),s("RouterLink",{attrs:{to:"/packages/contributte/apitte-core/endpoints.html"}},[a._v("endpoints")]),a._v(" and "),s("RouterLink",{attrs:{to:"/packages/contributte/apitte-core/mapping.html"}},[a._v("mapping")]),a._v(" docs for usage examples.")],1),a._v(" "),s("h3",{attrs:{id:"neonloader"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#neonloader"}},[a._v("#")]),a._v(" NeonLoader")]),a._v(" "),s("p",[a._v("Use with caution. This is an experimental loader which may drastically change in future.\n(So yes, it is not enough documented for that reason)")]),a._v(" "),s("div",{staticClass:"language-yaml line-numbers-mode"},[s("pre",{pre:!0,attrs:{class:"language-yaml"}},[s("code",[s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("api")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("plugins")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("Apitte\\Core\\DI\\Plugin\\CoreSchemaPlugin")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("enable")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token boolean important"}},[a._v("true")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("files")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("-")]),a._v(" %appDir%/Api/V1/schema.neon\n")])]),a._v(" "),s("div",{staticClass:"line-numbers-wrapper"},[s("span",{staticClass:"line-number"},[a._v("1")]),s("br"),s("span",{staticClass:"line-number"},[a._v("2")]),s("br"),s("span",{staticClass:"line-number"},[a._v("3")]),s("br"),s("span",{staticClass:"line-number"},[a._v("4")]),s("br"),s("span",{staticClass:"line-number"},[a._v("5")]),s("br"),s("span",{staticClass:"line-number"},[a._v("6")]),s("br")])]),s("blockquote",[s("p",[a._v("Known limitation:\nSchema for endpoint could be defined only by annotations or by neon, so you cannot e.g. define endpoint in annotations and modify it in neon.")])]),a._v(" "),s("h2",{attrs:{id:"validation"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#validation"}},[a._v("#")]),a._v(" Validation")]),a._v(" "),s("p",[a._v("There are already some validations which check if there is not an error in schema\nbut you could also define your own validations to e.g. ensure that all endpoints have defined an tag or ID.")]),a._v(" "),s("div",{staticClass:"language-php line-numbers-mode"},[s("pre",{pre:!0,attrs:{class:"language-php"}},[s("code",[s("span",{pre:!0,attrs:{class:"token keyword"}},[a._v("namespace")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token package"}},[a._v("App"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("Api"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("Validations")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(";")]),a._v("\n\n"),s("span",{pre:!0,attrs:{class:"token keyword"}},[a._v("use")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token package"}},[a._v("Apitte"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("Core"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("Schema"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("Builder"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("SchemaBuilder")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(";")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[a._v("use")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token package"}},[a._v("Apitte"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("Core"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("Schema"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("Validation"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("IValidation")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(";")]),a._v("\n\n"),s("span",{pre:!0,attrs:{class:"token keyword"}},[a._v("class")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token class-name-definition class-name"}},[a._v("EnsureTagIsDefinedValidation")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[a._v("implements")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[a._v("IValidation")]),a._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("{")]),a._v("\n\n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[a._v("public")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[a._v("function")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token function-definition function"}},[a._v("validate")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),s("span",{pre:!0,attrs:{class:"token class-name type-declaration"}},[a._v("SchemaBuilder")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$builder")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token keyword return-type"}},[a._v("void")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("{")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[a._v("foreach")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),s("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$builder")]),s("span",{pre:!0,attrs:{class:"token operator"}},[a._v("->")]),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("getControllers")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[a._v("as")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$controller")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("{")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[a._v("// Get tags from controller and controller methods, check if any available...")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("}")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("}")]),a._v("\n\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("}")]),a._v("\n")])]),a._v(" "),s("div",{staticClass:"line-numbers-wrapper"},[s("span",{staticClass:"line-number"},[a._v("1")]),s("br"),s("span",{staticClass:"line-number"},[a._v("2")]),s("br"),s("span",{staticClass:"line-number"},[a._v("3")]),s("br"),s("span",{staticClass:"line-number"},[a._v("4")]),s("br"),s("span",{staticClass:"line-number"},[a._v("5")]),s("br"),s("span",{staticClass:"line-number"},[a._v("6")]),s("br"),s("span",{staticClass:"line-number"},[a._v("7")]),s("br"),s("span",{staticClass:"line-number"},[a._v("8")]),s("br"),s("span",{staticClass:"line-number"},[a._v("9")]),s("br"),s("span",{staticClass:"line-number"},[a._v("10")]),s("br"),s("span",{staticClass:"line-number"},[a._v("11")]),s("br"),s("span",{staticClass:"line-number"},[a._v("12")]),s("br"),s("span",{staticClass:"line-number"},[a._v("13")]),s("br"),s("span",{staticClass:"line-number"},[a._v("14")]),s("br"),s("span",{staticClass:"line-number"},[a._v("15")]),s("br")])]),s("div",{staticClass:"language-yaml line-numbers-mode"},[s("pre",{pre:!0,attrs:{class:"language-yaml"}},[s("code",[s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("api")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("plugins")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("Apitte\\Core\\DI\\Plugin\\CoreSchemaPlugin")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("validations")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("-")]),a._v(" App\\Api\\Validations\\EnsureTagIsDefinedValidation\n")])]),a._v(" "),s("div",{staticClass:"line-numbers-wrapper"},[s("span",{staticClass:"line-number"},[a._v("1")]),s("br"),s("span",{staticClass:"line-number"},[a._v("2")]),s("br"),s("span",{staticClass:"line-number"},[a._v("3")]),s("br"),s("span",{staticClass:"line-number"},[a._v("4")]),s("br"),s("span",{staticClass:"line-number"},[a._v("5")]),s("br")])])])}),[],!1,null,null,null);t.default=e.exports}}]);