├── docs ├── www │ ├── meta.json │ ├── files │ │ ├── nette-logo-black.png │ │ ├── nette-logo-blue.png │ │ ├── nette-logo-blue.webp │ │ ├── nette-logo-oval.png │ │ ├── nette-logo-oval.webp │ │ ├── nette-logo-white.png │ │ ├── nette-logo-black.webp │ │ ├── nette-logo-white.webp │ │ └── NetteFramework-vector-logo.zip │ ├── cs │ │ ├── @home.texy │ │ ├── @menu-common.texy │ │ └── maintenance.texy │ └── en │ │ ├── @home.texy │ │ ├── @menu-common.texy │ │ └── maintenance.texy ├── migrations │ ├── meta.json │ ├── cs │ │ ├── @meta.texy │ │ └── @left-menu.texy │ └── en │ │ ├── @meta.texy │ │ └── @left-menu.texy ├── quickstart │ ├── meta.json │ ├── cs │ │ ├── @meta.texy │ │ └── @left-menu.texy │ ├── en │ │ ├── @meta.texy │ │ └── @left-menu.texy │ └── files │ │ ├── qs-fatal.webp │ │ ├── qs-hello.webp │ │ ├── qs-tracy.avif │ │ ├── qs-tracybar.webp │ │ ├── qs-welcome.webp │ │ ├── adminer-posts.webp │ │ └── adminer-comments.webp ├── best-practices │ ├── meta.json │ ├── cs │ │ └── @meta.texy │ └── en │ │ └── @meta.texy ├── contributing │ ├── meta.json │ ├── files │ │ └── new-line-after.webp │ ├── cs │ │ ├── @left-menu.texy │ │ └── @home.texy │ └── en │ │ ├── @left-menu.texy │ │ └── @home.texy ├── dibi │ ├── cs │ │ ├── @meta.texy │ │ └── @menu.texy │ ├── en │ │ ├── @meta.texy │ │ └── @menu.texy │ └── meta.json ├── nette │ ├── meta.json │ ├── cs │ │ ├── @meta.texy │ │ └── @menu-topics.texy │ ├── en │ │ ├── @meta.texy │ │ └── @menu-topics.texy │ └── files │ │ └── qs-welcome.webp ├── texy │ ├── cs │ │ ├── @meta.texy │ │ └── @menu.texy │ ├── en │ │ ├── @meta.texy │ │ └── @menu.texy │ ├── files │ │ └── image.gif │ └── meta.json ├── assets │ ├── cs │ │ ├── @meta.texy │ │ └── @left-menu.texy │ ├── en │ │ ├── @meta.texy │ │ └── @left-menu.texy │ └── meta.json ├── database │ ├── cs │ │ ├── @meta.texy │ │ ├── @left-menu.texy │ │ └── upgrading.texy │ ├── en │ │ ├── @meta.texy │ │ ├── @left-menu.texy │ │ └── upgrading.texy │ ├── files │ │ └── db-schema-1-.webp │ └── meta.json ├── forms │ ├── cs │ │ ├── @meta.texy │ │ └── @left-menu.texy │ ├── en │ │ ├── @meta.texy │ │ └── @left-menu.texy │ ├── files │ │ ├── form-cs.webp │ │ ├── form-en.webp │ │ ├── form-areas-en.webp │ │ └── defaultformrenderer.webp │ └── meta.json ├── http │ ├── cs │ │ ├── @meta.texy │ │ ├── @left-menu.texy │ │ └── @home.texy │ ├── en │ │ ├── @meta.texy │ │ ├── @left-menu.texy │ │ └── @home.texy │ └── meta.json ├── latte │ ├── cs │ │ ├── @meta.texy │ │ ├── cookbook │ │ │ ├── @meta.texy │ │ │ └── @home.texy │ │ ├── @home.texy │ │ ├── @menu.texy │ │ └── @left-menu.texy │ ├── en │ │ ├── @meta.texy │ │ ├── cookbook │ │ │ ├── @meta.texy │ │ │ └── @home.texy │ │ ├── @home.texy │ │ ├── @menu.texy │ │ └── @left-menu.texy │ ├── meta.json │ └── files │ │ ├── latte-debugging.webp │ │ └── latte-phpstorm-plugin.webp ├── security │ ├── cs │ │ ├── @meta.texy │ │ ├── @left-menu.texy │ │ └── @home.texy │ ├── en │ │ ├── @meta.texy │ │ ├── @left-menu.texy │ │ └── @home.texy │ └── meta.json ├── tester │ ├── cs │ │ ├── @meta.texy │ │ ├── @menu.texy │ │ ├── @home.texy │ │ └── @left-menu.texy │ ├── en │ │ ├── @meta.texy │ │ ├── @menu.texy │ │ ├── @home.texy │ │ └── @left-menu.texy │ └── meta.json ├── tracy │ ├── cs │ │ ├── @meta.texy │ │ ├── @menu.texy │ │ ├── @left-menu.texy │ │ ├── @home.texy │ │ └── stopwatch.texy │ ├── en │ │ ├── @meta.texy │ │ ├── @menu.texy │ │ ├── @left-menu.texy │ │ ├── @home.texy │ │ └── stopwatch.texy │ ├── files │ │ ├── bardump-cs.webp │ │ ├── bardump-en.webp │ │ ├── dump-basic.webp │ │ ├── dump-dark.webp │ │ ├── tracy-bar.webp │ │ ├── tracy-error.webp │ │ ├── tracy-error2.webp │ │ ├── tracy-notice.webp │ │ ├── tracy-notice2.webp │ │ └── tracy-exception.webp │ └── meta.json ├── utils │ ├── cs │ │ ├── @meta.texy │ │ ├── staticclass.texy │ │ ├── @left-menu.texy │ │ └── random.texy │ ├── en │ │ ├── @meta.texy │ │ ├── staticclass.texy │ │ ├── @left-menu.texy │ │ └── random.texy │ ├── meta.json │ └── files │ │ └── debugger-circle.webp ├── application │ ├── cs │ │ ├── @meta.texy │ │ └── @left-menu.texy │ ├── en │ │ ├── @meta.texy │ │ └── @left-menu.texy │ ├── meta.json │ └── files │ │ ├── routing-debugger.webp │ │ └── phpstorm-completion.webp ├── .github │ ├── funding.yml │ └── workflows │ │ └── coding-style.yml ├── dependency-injection │ ├── cs │ │ ├── @meta.texy │ │ ├── @left-menu.texy │ │ └── @home.texy │ ├── en │ │ ├── @meta.texy │ │ ├── @left-menu.texy │ │ └── @home.texy │ └── meta.json ├── neon │ ├── cs │ │ └── @meta.texy │ ├── en │ │ └── @meta.texy │ └── meta.json ├── caching │ ├── cs │ │ └── @meta.texy │ ├── en │ │ └── @meta.texy │ └── meta.json ├── mail │ ├── cs │ │ └── @meta.texy │ ├── en │ │ └── @meta.texy │ └── meta.json ├── schema │ ├── cs │ │ └── @meta.texy │ ├── en │ │ └── @meta.texy │ └── meta.json ├── bootstrap │ ├── cs │ │ └── @meta.texy │ ├── en │ │ └── @meta.texy │ └── meta.json ├── component-model │ ├── cs │ │ └── @meta.texy │ ├── en │ │ └── @meta.texy │ └── meta.json ├── php-generator │ ├── cs │ │ └── @meta.texy │ ├── en │ │ └── @meta.texy │ └── meta.json ├── tokenizer │ └── meta.json ├── safe-stream │ └── meta.json ├── code-checker │ └── meta.json └── robot-loader │ └── meta.json ├── forms ├── examples │ ├── assets │ │ └── logo.png │ ├── localization.ini │ └── latte │ │ └── page.latte ├── src │ ├── assets │ │ ├── index.esm.ts │ │ ├── index.umd.ts │ │ ├── dist │ │ │ └── package.json │ │ ├── webalize.ts │ │ └── types.ts │ └── Forms │ │ ├── FormRenderer.php │ │ ├── SubmitterControl.php │ │ ├── Rendering │ │ └── LatteRenderer.php │ │ ├── Controls │ │ └── TextArea.php │ │ ├── Rule.php │ │ └── Control.php ├── .phpstorm.meta.php ├── tsconfig.json ├── eslint.config.js └── package.json ├── tracy ├── examples │ ├── assets │ │ ├── E_COMPILE_ERROR.php │ │ ├── arrow.png │ │ └── style.css │ ├── output-debugger.php │ ├── fatal-error.php │ ├── warning.php │ └── notice.php ├── src │ └── Tracy │ │ ├── assets │ │ ├── tabs.css │ │ ├── table-sort.css │ │ ├── helpers.js │ │ └── toggle.css │ │ ├── BlueScreen │ │ ├── assets │ │ │ ├── section-stack-fiber.latte │ │ │ ├── section-exception-exception.latte │ │ │ ├── section-stack-generator.latte │ │ │ ├── section-exception-causedBy.latte │ │ │ └── section-cli.latte │ │ └── dist │ │ │ ├── section-stack-fiber.phtml │ │ │ ├── section-exception-exception.phtml │ │ │ ├── section-stack-generator.phtml │ │ │ └── section-exception-causedBy.phtml │ │ ├── Session │ │ ├── SessionStorage.php │ │ └── NativeSession.php │ │ ├── Bar │ │ ├── panels │ │ │ ├── warnings.panel.latte │ │ │ ├── dumps.panel.latte │ │ │ ├── info.tab.latte │ │ │ ├── dumps.tab.latte │ │ │ └── warnings.tab.latte │ │ ├── IBarPanel.php │ │ ├── dist │ │ │ ├── warnings.panel.phtml │ │ │ ├── dumps.panel.phtml │ │ │ ├── info.tab.phtml │ │ │ └── dumps.tab.phtml │ │ └── assets │ │ │ ├── panels.latte │ │ │ └── loader.latte │ │ └── Logger │ │ └── ILogger.php ├── package.json ├── eslint.config.js ├── .phpstorm.meta.php └── tools │ └── open-in-editor │ └── windows │ └── install.cmd ├── safe-stream └── src │ ├── loader.php │ └── SafeStream │ └── SafeStream.php ├── tester └── src │ ├── tester │ └── Runner │ ├── exceptions.php │ └── OutputHandler.php ├── component-model └── .phpstorm.meta.php ├── di ├── .phpstorm.meta.php └── src │ ├── DI │ ├── Attributes │ │ └── Inject.php │ ├── DynamicParameter.php │ ├── Config │ │ ├── Adapter.php │ │ ├── Adapters │ │ │ └── PhpAdapter.php │ │ └── Helpers.php │ └── Definitions │ │ └── Expression.php │ └── Bridges │ └── DITracy │ └── tab.latte ├── application └── src │ ├── Application │ ├── Attributes │ │ ├── Deprecated.php │ │ ├── Parameter.php │ │ ├── Persistent.php │ │ ├── CrossOrigin.php │ │ └── Requires.php │ ├── UI │ │ ├── InvalidLinkException.php │ │ ├── BadSignalException.php │ │ ├── TemplateFactory.php │ │ ├── SignalReceiver.php │ │ ├── Renderable.php │ │ ├── StatePersistent.php │ │ ├── Template.php │ │ └── Multiplier.php │ ├── IPresenter.php │ ├── Responses │ │ ├── VoidResponse.php │ │ └── ForwardResponse.php │ ├── Response.php │ └── IPresenterFactory.php │ └── Bridges │ └── ApplicationLatte │ ├── LatteFactory.php │ └── Nodes │ └── NNonceNode.php ├── schema └── src │ └── Schema │ ├── DynamicParameter.php │ ├── MergeMode.php │ └── Schema.php ├── finder ├── readme.md └── composer.json ├── security └── src │ ├── Bridges │ └── SecurityTracy │ │ ├── panel.latte │ │ ├── dist │ │ ├── panel.phtml │ │ └── tab.phtml │ │ └── tab.latte │ ├── Security │ ├── AuthenticationException.php │ ├── IdentityHandler.php │ ├── Role.php │ ├── Resource.php │ └── IIdentity.php │ └── compatibility.php ├── latte ├── src │ ├── Latte │ │ ├── Compiler │ │ │ ├── Nodes │ │ │ │ ├── StatementNode.php │ │ │ │ ├── AreaNode.php │ │ │ │ ├── Php │ │ │ │ │ ├── ComplexTypeNode.php │ │ │ │ │ ├── ScalarNode.php │ │ │ │ │ ├── VarLikeIdentifierNode.php │ │ │ │ │ ├── Scalar │ │ │ │ │ │ ├── NullNode.php │ │ │ │ │ │ └── BooleanNode.php │ │ │ │ │ ├── NullableTypeNode.php │ │ │ │ │ ├── SuperiorTypeNode.php │ │ │ │ │ ├── Expression │ │ │ │ │ │ ├── TemporaryNode.php │ │ │ │ │ │ ├── CloneNode.php │ │ │ │ │ │ ├── NotNode.php │ │ │ │ │ │ ├── EmptyNode.php │ │ │ │ │ │ └── ErrorSuppressNode.php │ │ │ │ │ ├── InterpolatedStringPartNode.php │ │ │ │ │ ├── IdentifierNode.php │ │ │ │ │ └── ClosureUseNode.php │ │ │ │ ├── NopNode.php │ │ │ │ ├── TemplateNode.php │ │ │ │ └── AuxiliaryNode.php │ │ │ └── Node.php │ │ ├── Essential │ │ │ ├── RollbackException.php │ │ │ ├── RawPhpExtension.php │ │ │ └── Nodes │ │ │ │ └── TraceNode.php │ │ ├── Runtime │ │ │ ├── HtmlStringable.php │ │ │ ├── Block.php │ │ │ └── Html.php │ │ ├── ContentType.php │ │ ├── attributes.php │ │ ├── Policy.php │ │ ├── Loader.php │ │ └── Sandbox │ │ │ └── Nodes │ │ │ ├── FunctionCallableNode.php │ │ │ ├── FunctionCallNode.php │ │ │ ├── MethodCallableNode.php │ │ │ ├── StaticMethodCallableNode.php │ │ │ ├── StaticMethodCallNode.php │ │ │ └── StaticPropertyFetchNode.php │ └── Bridges │ │ └── Tracy │ │ └── TracyExtension.php └── bin │ └── latte-lint ├── reflection └── src │ ├── Reflection │ ├── IAnnotation.php │ ├── Annotation.php │ └── Helpers.php │ └── Bridges │ └── ReflectionDI │ └── ReflectionExtension.php ├── mail ├── .phpstorm.meta.php └── src │ └── Mail │ ├── Signer.php │ ├── Mailer.php │ └── exceptions.php ├── php-generator └── src │ └── PhpGenerator │ ├── PhpLiteral.php │ ├── PropertyHookType.php │ ├── PropertyAccessMode.php │ ├── Visibility.php │ ├── PsrPrinter.php │ └── EnumCase.php ├── tokenizer ├── src │ ├── Tokenizer │ │ ├── Exception.php │ │ └── Token.php │ └── Utils │ │ └── TokenizerException.php └── composer.json ├── utils ├── src │ ├── StaticClass.php │ ├── HtmlStringable.php │ ├── Translator.php │ ├── Utils │ │ └── ImageType.php │ ├── Iterators │ │ └── Mapper.php │ └── compatibility.php └── .phpstorm.meta.php ├── database └── src │ ├── Database │ ├── Conventions │ │ └── AmbiguousReferenceKeyException.php │ ├── Drivers │ │ ├── PDO │ │ │ ├── ODBC │ │ │ │ └── Driver.php │ │ │ ├── PgSQL │ │ │ │ ├── Result.php │ │ │ │ └── Driver.php │ │ │ ├── MSSQL │ │ │ │ └── Driver.php │ │ │ └── SQLSrv │ │ │ │ └── Driver.php │ │ └── Driver.php │ ├── Reflection │ │ ├── Index.php │ │ └── ForeignKey.php │ ├── DateTime.php │ └── SqlLiteral.php │ ├── Bridges │ └── DatabaseTracy │ │ └── tab.latte │ └── compatibility.php ├── assets └── src │ └── Assets │ ├── exceptions.php │ ├── Asset.php │ ├── Mapper.php │ ├── HtmlRenderable.php │ ├── EntryAsset.php │ ├── GenericAsset.php │ └── LazyLoad.php ├── http └── src │ └── Bridges │ └── HttpTracy │ ├── tab.latte │ ├── dist │ └── tab.phtml │ └── SessionPanel.php ├── bootstrap ├── src │ ├── Configurator.php │ └── Bootstrap │ │ └── Extensions │ │ └── ConstantsExtension.php └── config.stub.neon ├── caching └── src │ └── Caching │ ├── BulkReader.php │ ├── BulkWriter.php │ └── Storages │ ├── Journal.php │ └── DevNullStorage.php ├── neon └── src │ └── Neon │ ├── Position.php │ ├── Node │ ├── InlineArrayNode.php │ ├── ArrayNode.php │ └── BlockArrayNode.php │ ├── Entity.php │ ├── Exception.php │ ├── Node.php │ ├── Decoder.php │ └── Token.php └── routing └── src └── Routing └── Router.php /docs/www/meta.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /docs/migrations/meta.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /docs/quickstart/meta.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /docs/best-practices/meta.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /docs/contributing/meta.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /docs/dibi/cs/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Dibi Dokumentace}} 2 | -------------------------------------------------------------------------------- /docs/nette/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "4.0" 3 | } 4 | -------------------------------------------------------------------------------- /docs/texy/cs/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Texy Dokumentace}} 2 | -------------------------------------------------------------------------------- /docs/assets/cs/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Nette Dokumentace}} 2 | -------------------------------------------------------------------------------- /docs/assets/en/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Nette Documentation}} 2 | -------------------------------------------------------------------------------- /docs/database/cs/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Nette Dokumentace}} 2 | -------------------------------------------------------------------------------- /docs/dibi/en/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Dibi Documentation}} 2 | -------------------------------------------------------------------------------- /docs/forms/cs/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Nette Dokumentace}} 2 | -------------------------------------------------------------------------------- /docs/forms/en/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Nette Documentation}} 2 | -------------------------------------------------------------------------------- /docs/http/cs/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Nette Dokumentace}} 2 | -------------------------------------------------------------------------------- /docs/http/en/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Nette Documentation}} 2 | -------------------------------------------------------------------------------- /docs/latte/cs/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Latte Dokumentace}} 2 | -------------------------------------------------------------------------------- /docs/latte/en/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Latte Documentation}} 2 | -------------------------------------------------------------------------------- /docs/nette/cs/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Nette Dokumentace}} 2 | -------------------------------------------------------------------------------- /docs/nette/en/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Nette Documentation}} 2 | -------------------------------------------------------------------------------- /docs/security/cs/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Nette Dokumentace}} 2 | -------------------------------------------------------------------------------- /docs/tester/cs/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Tester Dokumentace}} 2 | -------------------------------------------------------------------------------- /docs/texy/en/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Texy Documentation}} 2 | -------------------------------------------------------------------------------- /docs/tracy/cs/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Tracy Dokumentace}} 2 | -------------------------------------------------------------------------------- /docs/tracy/en/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Tracy Documentation}} 2 | -------------------------------------------------------------------------------- /docs/utils/cs/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Nette Dokumentace}} 2 | -------------------------------------------------------------------------------- /docs/utils/en/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Nette Documentation}} 2 | -------------------------------------------------------------------------------- /docs/application/cs/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Nette Dokumentace}} 2 | -------------------------------------------------------------------------------- /docs/application/en/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Nette Documentation}} 2 | -------------------------------------------------------------------------------- /docs/database/en/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Nette Documentation}} 2 | -------------------------------------------------------------------------------- /docs/migrations/cs/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Nette Dokumentace}} 2 | -------------------------------------------------------------------------------- /docs/migrations/en/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Nette Documentation}} 2 | -------------------------------------------------------------------------------- /docs/security/en/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Nette Documentation}} 2 | -------------------------------------------------------------------------------- /docs/tester/en/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Tester Documentation}} 2 | -------------------------------------------------------------------------------- /docs/quickstart/cs/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Píšeme první aplikaci!}} 2 | -------------------------------------------------------------------------------- /docs/.github/funding.yml: -------------------------------------------------------------------------------- 1 | github: dg 2 | custom: "https://nette.org/donate" 3 | -------------------------------------------------------------------------------- /docs/dependency-injection/cs/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Nette Dokumentace}} 2 | -------------------------------------------------------------------------------- /docs/dependency-injection/en/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Nette Documentation}} 2 | -------------------------------------------------------------------------------- /docs/quickstart/en/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Create Your First Application!}} 2 | -------------------------------------------------------------------------------- /docs/neon/cs/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Nette Dokumentace}} 2 | {{leftbar: utils:@left-menu}} 3 | -------------------------------------------------------------------------------- /docs/caching/cs/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Nette Dokumentace}} 2 | {{leftbar: nette:@menu-topics}} 3 | -------------------------------------------------------------------------------- /docs/latte/cs/cookbook/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Latte Dokumentace}} 2 | {{leftbar: /@left-menu}} 3 | -------------------------------------------------------------------------------- /docs/mail/cs/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Nette Dokumentace}} 2 | {{leftbar: nette:@menu-topics}} 3 | -------------------------------------------------------------------------------- /docs/mail/en/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Nette Documentation}} 2 | {{leftbar: nette:@menu-topics}} 3 | -------------------------------------------------------------------------------- /docs/neon/en/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Nette Documentation}} 2 | {{leftbar: utils:@left-menu}} 3 | -------------------------------------------------------------------------------- /docs/schema/cs/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Nette Dokumentace}} 2 | {{leftbar: nette:@menu-topics}} 3 | -------------------------------------------------------------------------------- /docs/texy/files/image.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nette/union/HEAD/docs/texy/files/image.gif -------------------------------------------------------------------------------- /docs/best-practices/cs/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Návody a postupy}} 2 | {{leftbar: www:@menu-common}} 3 | -------------------------------------------------------------------------------- /docs/bootstrap/cs/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Nette Dokumentace}} 2 | {{leftbar: nette:@menu-topics}} 3 | -------------------------------------------------------------------------------- /docs/bootstrap/en/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Nette Documentation}} 2 | {{leftbar: nette:@menu-topics}} 3 | -------------------------------------------------------------------------------- /docs/caching/en/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Nette Documentation}} 2 | {{leftbar: nette:@menu-topics}} 3 | -------------------------------------------------------------------------------- /docs/latte/en/cookbook/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Latte Documentation}} 2 | {{leftbar: /@left-menu}} 3 | -------------------------------------------------------------------------------- /docs/schema/en/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Nette Documentation}} 2 | {{leftbar: nette:@menu-topics}} 3 | -------------------------------------------------------------------------------- /docs/component-model/cs/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Nette Dokumentace}} 2 | {{leftbar: nette:@menu-topics}} 3 | -------------------------------------------------------------------------------- /docs/component-model/en/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Nette Documentation}} 2 | {{leftbar: nette:@menu-topics}} 3 | -------------------------------------------------------------------------------- /docs/dibi/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "5.x", 3 | "repo": "dg/dibi", 4 | "composer": "dibi/dibi" 5 | } 6 | -------------------------------------------------------------------------------- /docs/forms/files/form-cs.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nette/union/HEAD/docs/forms/files/form-cs.webp -------------------------------------------------------------------------------- /docs/forms/files/form-en.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nette/union/HEAD/docs/forms/files/form-en.webp -------------------------------------------------------------------------------- /docs/php-generator/cs/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Nette Dokumentace}} 2 | {{leftbar: nette:@menu-topics}} 3 | -------------------------------------------------------------------------------- /docs/php-generator/en/@meta.texy: -------------------------------------------------------------------------------- 1 | {{sitename: Nette Documentation}} 2 | {{leftbar: nette:@menu-topics}} 3 | -------------------------------------------------------------------------------- /docs/texy/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "3.x", 3 | "repo": "dg/texy", 4 | "composer": "texy/texy" 5 | } 6 | -------------------------------------------------------------------------------- /forms/examples/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nette/union/HEAD/forms/examples/assets/logo.png -------------------------------------------------------------------------------- /tracy/examples/assets/E_COMPILE_ERROR.php: -------------------------------------------------------------------------------- 1 | '@'])); 8 | -------------------------------------------------------------------------------- /docs/security/en/@left-menu.texy: -------------------------------------------------------------------------------- 1 | Nette Security 2 | ************** 3 | - [Overview |@home] 4 | - [Authentication] 5 | - [Authorization] 6 | - [Password Hashing |passwords] 7 | - [Configuration] 8 | -------------------------------------------------------------------------------- /docs/http/en/@left-menu.texy: -------------------------------------------------------------------------------- 1 | Nette HTTP 2 | ********** 3 | - [Overview |@home] 4 | - [HTTP Request |request] 5 | - [HTTP Response |response] 6 | - [Sessions] 7 | - [URL Utility |urls] 8 | - [Configuration] 9 | -------------------------------------------------------------------------------- /docs/tracy/en/@left-menu.texy: -------------------------------------------------------------------------------- 1 | - [Getting Started |Guide] 2 | - [Dumper] 3 | - [Stopwatch] 4 | - [Configuring] 5 | - [Recipes] 6 | - [IDE Integration |open-files-in-ide] 7 | - [Creating Extensions |extensions] 8 | -------------------------------------------------------------------------------- /docs/http/cs/@left-menu.texy: -------------------------------------------------------------------------------- 1 | Nette HTTP 2 | ********** 3 | - [Úvod |@home] 4 | - [HTTP request|request] 5 | - [HTTP response|response] 6 | - [Sessions] 7 | - [URL utilities |urls] 8 | - [Konfigurace |configuration] 9 | -------------------------------------------------------------------------------- /docs/dibi/cs/@menu.texy: -------------------------------------------------------------------------------- 1 | - [Úvod | @home] 2 | - "Blog .[link-external]":https://phpfashion.com/category/dibi 3 | - "API .[link-external]":https://api.nette.org/dibi/ 4 | - "GitHub .[link-external]":https://github.com/dg/dibi 5 | -------------------------------------------------------------------------------- /docs/security/cs/@left-menu.texy: -------------------------------------------------------------------------------- 1 | Nette Security 2 | ************** 3 | - [Úvod |@home] 4 | - [Autentizace |authentication] 5 | - [Autorizace |authorization] 6 | - [Hashování hesel |passwords] 7 | - [Konfigurace |configuration] 8 | -------------------------------------------------------------------------------- /di/.phpstorm.meta.php: -------------------------------------------------------------------------------- 1 | '@'])); 8 | override(\Nette\DI\ContainerBuilder::addDefinition(1), type(1)); 9 | -------------------------------------------------------------------------------- /docs/tracy/cs/@left-menu.texy: -------------------------------------------------------------------------------- 1 | - [Začínáme s Tracy |guide] 2 | - [Dumpování |dumper] 3 | - [Měření času |stopwatch] 4 | - [Konfigurace |configuring] 5 | - [Návody |recipes] 6 | - [Integrace s IDE |open-files-in-ide] 7 | - [Tvorba rozšíření |extensions] 8 | -------------------------------------------------------------------------------- /tracy/src/Tracy/assets/tabs.css: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the Tracy (https://tracy.nette.org) 3 | */ 4 | 5 | .tracy-tab-label { 6 | user-select: none; 7 | } 8 | 9 | .tracy-tab-panel:not(.tracy-active) { 10 | display: none; 11 | } 12 | -------------------------------------------------------------------------------- /tracy/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "module", 3 | "devDependencies": { 4 | "@nette/eslint-plugin": "^0.2", 5 | "eslint": "^9.26.0" 6 | }, 7 | "scripts": { 8 | "lint": "eslint --cache", 9 | "lint:fix": "eslint --cache --fix" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /docs/tester/en/@left-menu.texy: -------------------------------------------------------------------------------- 1 | - [Getting Started |guide] 2 | - [Writing Tests] 3 | - [Running Tests] 4 | 5 | - [Assertions] 6 | - [Test Annotations] 7 | - [TestCase] 8 | - [Helpers] 9 | 10 | - [Continuous Integration with Travis |testing-with-travis] 11 | -------------------------------------------------------------------------------- /docs/texy/en/@menu.texy: -------------------------------------------------------------------------------- 1 | - [home | @home] 2 | - [syntax | syntax] 3 | - [for developers | develop] 4 | - "Playground .[link-external]":https://fiddle.nette.org/texy/ 5 | - "API .[link-external]":https://api.nette.org/texy/ 6 | - "GitHub .[link-external]":https://github.com/dg/texy 7 | -------------------------------------------------------------------------------- /docs/latte/en/@home.texy: -------------------------------------------------------------------------------- 1 | {{maintitle: Latte – The Safest & Truly Intuitive Templates for PHP}} 2 | {{description: Latte is the most secure templating system for PHP. It prevents many security vulnerabilities. You will appreciate its intuitive syntax and appreciate many useful features.}} 3 | -------------------------------------------------------------------------------- /forms/.phpstorm.meta.php: -------------------------------------------------------------------------------- 1 | '@|Nette\Utils\ArrayHash'])); 8 | override(new \Nette\Forms\Container, map(['' => 'Nette\Forms\Controls\BaseControl'])); 9 | -------------------------------------------------------------------------------- /docs/database/en/@left-menu.texy: -------------------------------------------------------------------------------- 1 | Nette Database 2 | ************** 3 | - [Getting Started |guide] 4 | - [SQL Way] 5 | - [Explorer] 6 | - [Transactions] 7 | - [Exceptions] 8 | - [Reflection] 9 | - [Mapping] 10 | - [Configuration] 11 | - [Security Risks |security] 12 | - [Upgrading] 13 | -------------------------------------------------------------------------------- /docs/latte/cs/@home.texy: -------------------------------------------------------------------------------- 1 | {{maintitle: Latte – nejbezpečnější & opravdu intuitivní šablony pro PHP}} 2 | {{description: Latte je nejbezpečnější šablonovací systém pro PHP. Zabraňuje spoustě bezpečnostních zranitelností. Oceníte jeho intuitivní syntaxi a oceníte spoustu užitečných vychytávek.}} 3 | -------------------------------------------------------------------------------- /application/src/Application/Attributes/Deprecated.php: -------------------------------------------------------------------------------- 1 | getTrace(); 12 | $expanded = 0; 13 | 14 | require __DIR__ . '/section-stack-callStack.phtml'; 15 | -------------------------------------------------------------------------------- /security/src/Bridges/SecurityTracy/panel.latte: -------------------------------------------------------------------------------- 1 |

{if $user->isLoggedIn()}Logged in{else}Unlogged{/if}

2 | 3 |
4 | {if $user->getIdentity()} 5 | {Tracy\Dumper::toHtml($user->getIdentity(), [Tracy\Dumper::LIVE => true])} 6 | {else} 7 |

no identity

8 | {/if} 9 |
10 | -------------------------------------------------------------------------------- /docs/texy/cs/@menu.texy: -------------------------------------------------------------------------------- 1 | - [úvod | @home] 2 | - [syntaxe | syntax] 3 | - [pro programátory | develop] 4 | - "blog .[link-external]":https://phpfashion.com/category/texy 5 | - "hřiště .[link-external]":https://fiddle.nette.org/texy/ 6 | - "API .[link-external]":https://api.nette.org/texy/ 7 | - "GitHub .[link-external]":https://github.com/dg/texy 8 | -------------------------------------------------------------------------------- /docs/tracy/en/@home.texy: -------------------------------------------------------------------------------- 1 | {{maintitle: Tracy – A Must-Have Debugging Tool for All PHP Developers}} 2 | {{description: Tracy is a tool designed to facilitate debugging PHP code. It is a useful assistant for all PHP programmers, helping with clear visualization and logging of errors, dumping variables, and much more. Warning: Tracy is addictive!}} 3 | -------------------------------------------------------------------------------- /docs/database/cs/@left-menu.texy: -------------------------------------------------------------------------------- 1 | Nette Database 2 | ************** 3 | - [Úvod |guide] 4 | - [SQL přístup |sql way] 5 | - [Explorer] 6 | - [Transakce |transactions] 7 | - [Výjimky |exceptions] 8 | - [Reflexe |reflection] 9 | - [Mapování |mapping] 10 | - [Konfigurace |configuration] 11 | - [Bezpečnostní rizika |security] 12 | - [Upgrade |upgrading] 13 | -------------------------------------------------------------------------------- /docs/migrations/cs/@left-menu.texy: -------------------------------------------------------------------------------- 1 | Přechod na novější verze 2 | ************************ 3 | - [Úvod |@home] 4 | - [Z verze 3.1 na 3.2 |to-3-2] 5 | - [Z verze 3.0 na 3.1 |to-3-1] 6 | - [Z verze 2.4 na 3.0 |to-3-0] 7 | - [Z verze 2.3 na 2.4 |to-2-4] 8 | - [Z verze 2.2 na 2.3 |to-2-3] 9 | - [Z verze 2.1 na 2.2 |to-2-2] 10 | - [Z verze 2.0 na 2.1 |to-2-1] 11 | -------------------------------------------------------------------------------- /tracy/examples/output-debugger.php: -------------------------------------------------------------------------------- 1 | '; 13 | } 14 | 15 | 16 | head(); 17 | echo '

Output Debugger demo

'; 18 | -------------------------------------------------------------------------------- /tracy/src/Tracy/BlueScreen/dist/section-stack-fiber.phtml: -------------------------------------------------------------------------------- 1 | getTrace(); 13 | $expanded = 0; 14 | 15 | require __DIR__ . '/section-stack-callStack.phtml'; 16 | -------------------------------------------------------------------------------- /latte/src/Latte/Compiler/Nodes/StatementNode.php: -------------------------------------------------------------------------------- 1 | :first-child > tr:first-child > * { 6 | position: relative; 7 | } 8 | 9 | .tracy-sortable > :first-child > tr:first-child > *:hover:before { 10 | position: absolute; 11 | right: .3em; 12 | content: "\21C5"; 13 | opacity: .4; 14 | font-weight: normal; 15 | } 16 | -------------------------------------------------------------------------------- /tokenizer/src/Utils/TokenizerException.php: -------------------------------------------------------------------------------- 1 | 2 | - [Úvod |@home] 3 | - [Dokumentace |guide] 4 | - "GitHub .[link-external]":https://github.com/nette/latte 5 | 12 | 13 | -------------------------------------------------------------------------------- /docs/latte/en/@menu.texy: -------------------------------------------------------------------------------- 1 | 13 | -------------------------------------------------------------------------------- /application/src/Application/IPresenter.php: -------------------------------------------------------------------------------- 1 | 4 |

isLoggedIn()): ?> 5 | Logged in 6 | Unlogged 7 |

8 | 9 |
10 | getIdentity()): ?> getIdentity(), [Tracy\Dumper::LIVE => true]) ?> 11 | 12 |

no identity

13 |
14 | -------------------------------------------------------------------------------- /forms/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "esnext", 4 | "target": "es2022", 5 | "resolveJsonModule": true, 6 | "moduleResolution": "node", 7 | "strict": true, 8 | "noUnusedLocals": true, 9 | "noImplicitReturns": true, 10 | "noFallthroughCasesInSwitch": true, 11 | "noUncheckedIndexedAccess": true 12 | }, 13 | "include": [ 14 | "src/assets/*.ts" 15 | ], 16 | "exclude": [ 17 | "node_modules" 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /latte/src/Latte/Compiler/Nodes/Php/ScalarNode.php: -------------------------------------------------------------------------------- 1 | Warnings 2 | 3 |
4 | 5 | {foreach $data as $item => $count} 6 | {do [$file, $line, $message] = explode('|', $item, 3)} 7 | 8 | 9 | 10 | 11 | {/foreach} 12 |
{$count ? "{$count}×" : ''}
{$message} in {Tracy\Helpers::editorLink($file, (int) $line)}
13 |
14 | -------------------------------------------------------------------------------- /latte/src/Latte/Compiler/Node.php: -------------------------------------------------------------------------------- 1 | 10 | */ 11 | abstract class Node implements \IteratorAggregate 12 | { 13 | public ?Position $position = null; 14 | 15 | 16 | abstract public function print(PrintContext $context): string; 17 | 18 | 19 | /** @return \Generator */ 20 | abstract public function &getIterator(): \Generator; 21 | } 22 | -------------------------------------------------------------------------------- /latte/src/Latte/attributes.php: -------------------------------------------------------------------------------- 1 | 2 | #tracy-debug .tracy-DumpPanel h2 { 3 | font: 11pt/1.5 sans-serif; 4 | margin: 0; 5 | padding: 2px 8px; 6 | background: #3484d2; 7 | color: white; 8 | } 9 | 10 | 11 |

Dumps

12 | 13 |
14 | {foreach $data as $item} 15 | {if $item[title]} 16 |

{$item[title]}

17 | {/if} 18 | 19 | {$item[dump]} 20 | {/foreach} 21 |
22 | -------------------------------------------------------------------------------- /forms/src/Forms/FormRenderer.php: -------------------------------------------------------------------------------- 1 | message = str_replace("'$reference'", "'$mapper:$reference'", $this->message); 18 | } 19 | return $this; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /application/src/Application/Attributes/Persistent.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tracy/src/Tracy/BlueScreen/assets/section-exception-exception.latte: -------------------------------------------------------------------------------- 1 | {* 2 | * @var Throwable $ex 3 | * @var callable $dump 4 | *} 5 | {exitIf count(get_mangled_object_vars($ex)) <= count(get_mangled_object_vars(new Exception))} 6 | 7 |
8 | 11 | 12 |
13 | {$dump($ex)} 14 |
15 |
16 | -------------------------------------------------------------------------------- /latte/src/Latte/Compiler/Nodes/Php/VarLikeIdentifierNode.php: -------------------------------------------------------------------------------- 1 | name; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /tracy/.phpstorm.meta.php: -------------------------------------------------------------------------------- 1 | { 8 | e.target.closest('a[href^="editor:"]')?.setAttribute('target', '_blank'); 9 | }, 10 | true, 11 | ); 12 | } 13 | } 14 | 15 | 16 | let Tracy = window.Tracy = window.Tracy || {}; 17 | if (!Tracy.helpers) { 18 | init(); 19 | Tracy.helpers = true; 20 | } 21 | -------------------------------------------------------------------------------- /assets/src/Assets/Asset.php: -------------------------------------------------------------------------------- 1 | 4 | 5 |
6 | 9 | 10 |
11 | 12 | 13 |
14 |
15 | -------------------------------------------------------------------------------- /tracy/src/Tracy/Bar/panels/info.tab.latte: -------------------------------------------------------------------------------- 1 | {do $this->time = microtime(true) - Tracy\Debugger::$time} 2 | 3 | 4 | 5 | 6 | 7 | 8 | {number_format($this->time * 1000, 1, '.', " ")} ms 10 | 11 | -------------------------------------------------------------------------------- /latte/src/Latte/Essential/RawPhpExtension.php: -------------------------------------------------------------------------------- 1 | Nodes\RawPhpNode::create(...), 24 | ]; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /security/src/Security/Role.php: -------------------------------------------------------------------------------- 1 | value pairs, missing items are omitted 21 | */ 22 | function bulkRead(array $keys): array; 23 | } 24 | 25 | 26 | class_exists(IBulkReader::class); 27 | -------------------------------------------------------------------------------- /docs/.github/workflows/coding-style.yml: -------------------------------------------------------------------------------- 1 | name: Coding Style 2 | 3 | on: [push, pull_request] 4 | 5 | jobs: 6 | nette_cc: 7 | name: Nette Code Checker 8 | runs-on: ubuntu-latest 9 | steps: 10 | - uses: actions/checkout@v3 11 | - uses: shivammathur/setup-php@v2 12 | with: 13 | php-version: 8.3 14 | coverage: none 15 | 16 | - run: composer create-project nette/code-checker temp/code-checker ^3 --no-progress 17 | - run: php temp/code-checker/code-checker --no-progress 18 | -------------------------------------------------------------------------------- /docs/latte/cs/cookbook/@home.texy: -------------------------------------------------------------------------------- 1 | Návody a postupy 2 | **************** 3 | 4 | .[perex] 5 | Příklady kódů a receptů pro provádění běžných úkolů pomocí Latte. 6 | 7 | - [Postupy pro vývojáře |/develop] 8 | - [Předávání proměnných napříč šablonami |passing-variables] 9 | - [Všechno, co jste kdy chtěli vědět o seskupování |grouping] 10 | - [Jak psát SQL queries v Latte? |how-to-write-sql-queries-in-latte] 11 | - [Migrace z Latte 2 |migration-from-latte2] 12 | - [Migrace z PHP |migration-from-php] 13 | - [Migrace z Twigu |migration-from-twig] 14 | - [Použití Latte se Slim 4 |slim-framework] 15 | -------------------------------------------------------------------------------- /tracy/src/Tracy/Bar/dist/warnings.panel.phtml: -------------------------------------------------------------------------------- 1 | 4 |

Warnings

5 | 6 |
7 | 8 | $count): ?> 9 | 11 | 14 | 15 |
10 | ×" : ''}

12 |  in 
13 | 
16 |
17 | -------------------------------------------------------------------------------- /docs/latte/en/cookbook/@home.texy: -------------------------------------------------------------------------------- 1 | Cookbook 2 | ******** 3 | 4 | .[perex] 5 | Example codes and recipes for accomplishing common tasks with Latte. 6 | 7 | - [Developer guidelines |/develop] 8 | - [Passing variables across templates |passing-variables] 9 | - [Everything you always wanted to know about grouping |grouping] 10 | - [How to write SQL queries in Latte? |how-to-write-sql-queries-in-latte] 11 | - [Migration from Latte 2 |migration-from-latte2] 12 | - [Migration from PHP |migration-from-php] 13 | - [Migration from Twig |migration-from-twig] 14 | - [Using Latte with Slim 4 |slim-framework] 15 | -------------------------------------------------------------------------------- /latte/src/Latte/Runtime/Html.php: -------------------------------------------------------------------------------- 1 | value = (string) $value; 24 | } 25 | 26 | 27 | public function __toString(): string 28 | { 29 | return $this->value; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /tracy/src/Tracy/BlueScreen/assets/section-stack-generator.latte: -------------------------------------------------------------------------------- 1 | getTrace(); 12 | $expanded = null; 13 | $execGenerator = $ref->getExecutingGenerator(); 14 | $refExec = new ReflectionGenerator($execGenerator); 15 | $file = $refExec->getExecutingFile(); 16 | $line = $refExec->getExecutingLine(); 17 | 18 | require __DIR__ . '/section-stack-sourceFile.phtml'; 19 | require __DIR__ . '/section-stack-callStack.phtml'; 20 | -------------------------------------------------------------------------------- /application/src/Application/Response.php: -------------------------------------------------------------------------------- 1 | 4 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tracy/src/Tracy/Bar/dist/dumps.panel.phtml: -------------------------------------------------------------------------------- 1 | 4 | 13 | 14 |

Dumps

15 | 16 |
17 |

18 |

19 | 20 | 21 | 22 |
23 | -------------------------------------------------------------------------------- /database/src/Database/Drivers/PDO/ODBC/Driver.php: -------------------------------------------------------------------------------- 1 | result->queryString] ??= parent::collectColumnsInfo(); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /docs/contributing/en/@home.texy: -------------------------------------------------------------------------------- 1 | Become a Contributor to Nette 2 | ***************************** 3 | 4 | .[perex] 5 | Find out how you can get involved in our open source project. Learn the procedures for contributing to the source code and documentation, and become part of the community of developers who actively participate in improving Nette. 6 | 7 | 8 | **Code** 9 | 10 | - [Contributing to Code |code] 11 | - [Coding Standards |coding-standard] 12 | 13 | **Documentation** 14 | 15 | - [Contributing to Documentation |documentation] 16 | - [Documentation Syntax |syntax] 17 | - "Preview editor":https://editor.nette.org 18 | -------------------------------------------------------------------------------- /tracy/src/Tracy/Bar/dist/info.tab.phtml: -------------------------------------------------------------------------------- 1 | 4 | time = microtime(true) - Tracy\Debugger::$time ?> 5 | 6 | 7 | 8 | 9 | 10 | time * 1000, 1, '.', " ")) ?> 12 | ms 13 | 14 | -------------------------------------------------------------------------------- /tracy/src/Tracy/BlueScreen/dist/section-stack-generator.phtml: -------------------------------------------------------------------------------- 1 | getTrace(); 13 | $expanded = null; 14 | $execGenerator = $ref->getExecutingGenerator(); 15 | $refExec = new ReflectionGenerator($execGenerator); 16 | $file = $refExec->getExecutingFile(); 17 | $line = $refExec->getExecutingLine(); 18 | 19 | require __DIR__ . '/section-stack-sourceFile.phtml'; 20 | require __DIR__ . '/section-stack-callStack.phtml'; 21 | -------------------------------------------------------------------------------- /database/src/Database/Drivers/Driver.php: -------------------------------------------------------------------------------- 1 | line" . ($this->column ? " at column $this->column" : ''); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /application/src/Application/UI/Renderable.php: -------------------------------------------------------------------------------- 1 | bracket 25 | . ArrayItemNode::itemsToInlineString($this->items) 26 | . ['[' => ']', '{' => '}', '(' => ')'][$this->bracket]; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /latte/src/Latte/Compiler/Nodes/Php/Scalar/NullNode.php: -------------------------------------------------------------------------------- 1 | 'Logged in', false => Unlogged, '?' => 'Session is closed']} 2 | {do $colors = [true => '#61A519', false => '#ababab', '?' => '#bb0000']} 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /php-generator/src/PhpGenerator/PsrPrinter.php: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | Nette Forms rendering using Latte 8 | 9 | 10 | 11 | 12 | 13 |
14 |

Nette Forms & Bootstrap v5 rendering example

15 | 16 | {include bootstrap-form, $form} 17 |
18 | 19 | 20 | -------------------------------------------------------------------------------- /schema/src/Schema/Schema.php: -------------------------------------------------------------------------------- 1 | position = $position; 25 | parent::__construct($message, 0, $previous); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /reflection/src/Reflection/Annotation.php: -------------------------------------------------------------------------------- 1 | $v) { 23 | $this->$k = $v; 24 | } 25 | } 26 | 27 | 28 | /** 29 | * Returns default annotation. 30 | * @return string 31 | */ 32 | public function __toString() 33 | { 34 | return $this->value; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /application/src/Application/UI/Template.php: -------------------------------------------------------------------------------- 1 | = { \u00e1: 'a', \u00e4: 'a', \u010d: 'c', \u010f: 'd', \u00e9: 'e', \u011b: 'e', \u00ed: 'i', \u013e: 'l', \u0148: 'n', \u00f3: 'o', \u00f4: 'o', \u0159: 'r', \u0161: 's', \u0165: 't', \u00fa: 'u', \u016f: 'u', \u00fd: 'y', \u017e: 'z' }; 2 | 3 | /** 4 | * Converts string to web safe characters [a-z0-9-] text. 5 | * @param {string} s 6 | * @return {string} 7 | */ 8 | export function webalize(s: string): string { 9 | s = s.toLowerCase(); 10 | let res = ''; 11 | for (let i = 0; i < s.length; i++) { 12 | let ch = webalizeTable[s.charAt(i)]; 13 | res += ch ? ch : s.charAt(i); 14 | } 15 | return res.replace(/[^a-z0-9]+/g, '-').replace(/^-|-$/g, ''); 16 | } 17 | -------------------------------------------------------------------------------- /latte/src/Latte/Compiler/Nodes/Php/Scalar/BooleanNode.php: -------------------------------------------------------------------------------- 1 | value ? 'true' : 'false'; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /application/src/Application/UI/Multiplier.php: -------------------------------------------------------------------------------- 1 | factory = $factory; 27 | } 28 | 29 | 30 | protected function createComponent(string $name): ?Nette\ComponentModel\IComponent 31 | { 32 | return ($this->factory)($name, $this); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /caching/src/Caching/Storages/Journal.php: -------------------------------------------------------------------------------- 1 | items); 26 | } 27 | 28 | 29 | public function &getIterator(): \Generator 30 | { 31 | foreach ($this->items as &$item) { 32 | yield $item; 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /database/src/Database/Reflection/Index.php: -------------------------------------------------------------------------------- 1 | name; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /docs/latte/cs/@left-menu.texy: -------------------------------------------------------------------------------- 1 | - [Začínáme s Latte |guide] 2 | - [Proč používat šablony? |why-use] 3 | - Koncepty ⚗️ 4 | - [Bezpečnost především |safety-first] 5 | - [Dědičnost šablon |Template Inheritance] 6 | - [Typový systém |type-system] 7 | - [Sandbox] 8 | 9 | - Pro designéry 🎨 10 | - [Syntaxe |syntax] 11 | - [Tagy |tags] 12 | - [Filtry |filters] 13 | - [Funkce |functions] 14 | - [Tipy a triky |recipes] 15 | 16 | - Pro vývojáře 🧮 17 | - [Vývojářské postupy |develop] 18 | - [Rozšiřujeme Latte |extending-latte] 19 | 20 | - [Návody a postupy 💡|cookbook/@home] 21 | - [Migrace z Twigu |cookbook/migration-from-twig] 22 | - [… další |cookbook/@home] 23 | 24 | - "Hřiště .[link-external]":https://fiddle.nette.org/latte/ .{padding-top:1em} 25 | -------------------------------------------------------------------------------- /docs/utils/en/random.texy: -------------------------------------------------------------------------------- 1 | Generating Random Strings 2 | ************************* 3 | 4 | .[perex] 5 | [api:Nette\Utils\Random] is a static class for generating cryptographically secure pseudo-random strings. 6 | 7 | 8 | Installation: 9 | 10 | ```shell 11 | composer require nette/utils 12 | ``` 13 | 14 | 15 | generate(int $length=10, string $charlist=`'0-9a-z'`): string .[method] 16 | ----------------------------------------------------------------------- 17 | 18 | Generates a random string of a specified length using characters from the `$charlist`. Character ranges like `0-9` can also be used. 19 | 20 | ```php 21 | use Nette\Utils\Random; 22 | 23 | Random::generate(10); // '6zq3a1nl8n' 24 | Random::generate(5, 'A-Z'); // 'HLKUR' 25 | ``` 26 | -------------------------------------------------------------------------------- /utils/.phpstorm.meta.php: -------------------------------------------------------------------------------- 1 | callback = $callback; 26 | } 27 | 28 | 29 | public function current(): mixed 30 | { 31 | return ($this->callback)(parent::current(), parent::key()); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /neon/src/Neon/Node.php: -------------------------------------------------------------------------------- 1 | 15 | */ 16 | abstract class Node implements \IteratorAggregate 17 | { 18 | public ?int $startTokenPos = null; 19 | public ?int $endTokenPos = null; 20 | public ?Position $start = null; 21 | public ?Position $end = null; 22 | 23 | 24 | abstract public function toValue(): mixed; 25 | 26 | 27 | abstract public function toString(): string; 28 | 29 | 30 | public function &getIterator(): \Generator 31 | { 32 | return; 33 | yield; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /application/src/Application/Attributes/Requires.php: -------------------------------------------------------------------------------- 1 | methods = $methods === null ? null : (array) $methods; 25 | $this->actions = $actions === null ? null : (array) $actions; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /docs/utils/cs/random.texy: -------------------------------------------------------------------------------- 1 | Generování náhodných řetězců 2 | **************************** 3 | 4 | .[perex] 5 | [api:Nette\Utils\Random] je statická třída pro generování kryptograficky bezpečných pseudonáhodných řetězců. 6 | 7 | 8 | Instalace: 9 | 10 | ```shell 11 | composer require nette/utils 12 | ``` 13 | 14 | 15 | generate(int $length=10, string $charlist=`'0-9a-z'`): string .[method] 16 | ----------------------------------------------------------------------- 17 | 18 | Vygeneruje náhodný řetězec o dané délce ze znaků specifikovaných parametrem `$charlist`. Lze používat i intervaly zapsané jako třeba `0-9`. 19 | 20 | ```php 21 | use Nette\Utils\Random; 22 | 23 | Random::generate(10); // '6zq3a1nl8n' 24 | Random::generate(5, 'A-Z'); // 'HLKUR' 25 | ``` 26 | -------------------------------------------------------------------------------- /neon/src/Neon/Node/BlockArrayNode.php: -------------------------------------------------------------------------------- 1 | items) === 0) { 27 | return '[]'; 28 | } 29 | 30 | $res = ArrayItemNode::itemsToBlockString($this->items); 31 | return preg_replace('#^(?=.)#m', $this->indentation, $res); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /database/src/Bridges/DatabaseTracy/tab.latte: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | {$totalTime ? sprintf('%0.1f ms / ', $totalTime * 1000) : ''}{$count} 6 | 7 | -------------------------------------------------------------------------------- /neon/src/Neon/Decoder.php: -------------------------------------------------------------------------------- 1 | parseToNode($input); 25 | return $node->toValue(); 26 | } 27 | 28 | 29 | public function parseToNode(string $input): Node 30 | { 31 | $lexer = new Lexer; 32 | $parser = new Parser; 33 | $stream = $lexer->tokenize($input); 34 | return $parser->parse($stream); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /php-generator/src/PhpGenerator/EnumCase.php: -------------------------------------------------------------------------------- 1 | value = $val; 28 | return $this; 29 | } 30 | 31 | 32 | public function getValue(): string|int|Literal|null 33 | { 34 | return $this->value; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /tracy/examples/fatal-error.php: -------------------------------------------------------------------------------- 1 | 14 | 15 | 16 |

Tracy: fatal error demo

17 | 18 | For security reasons, Tracy is visible only on localhost. Look into the source code to see how to enable Tracy.

'; 22 | } 23 | 24 | require __DIR__ . '/assets/E_COMPILE_ERROR.php'; 25 | -------------------------------------------------------------------------------- /database/src/Database/DateTime.php: -------------------------------------------------------------------------------- 1 | format('c'); 24 | } 25 | 26 | 27 | /** 28 | * Returns the date and time in the format 'Y-m-d H:i:s.u'. 29 | */ 30 | public function __toString(): string 31 | { 32 | return $this->format('Y-m-d H:i:s.u'); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /assets/src/Assets/GenericAsset.php: -------------------------------------------------------------------------------- 1 | lazyLoad(compact('mimeType'), fn() => $this->mimeType = $this->file ? mime_content_type($this->file) : null); 26 | } 27 | 28 | 29 | public function __toString(): string 30 | { 31 | return $this->url; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /docs/www/cs/@menu-common.texy: -------------------------------------------------------------------------------- 1 | Seznámení 2 | ********* 3 | - [Proč používat Nette? |www:10-reasons-why-nette] 4 | - [Instalace |nette:installation] 5 | - [Píšeme první aplikaci! |quickstart:] 6 | 7 | 8 | Obecné témata 9 | ************* 10 | - [Seznam balíčků |www:packages] 11 | - [Údržba a PHP verze |www:maintenance] 12 | - [Release Notes |https://nette.org/releases] 13 | - [Přechod na novější verze|migrations:] 14 | - [Řešení problémů |nette:troubleshooting] 15 | - [Kdo tvoří Nette |https://nette.org/contributors] 16 | - [Historie Nette |history] 17 | - [Zapojte se |contributing:] 18 | - [Podpořte vývoj |https://nette.org/cs/donate] 19 | - [API reference |https://api.nette.org/] 20 | - [Návody a postupy |best-practices:] 21 | 22 | - [Bezpečnost především |nette:vulnerability-protection] 23 | -------------------------------------------------------------------------------- /reflection/src/Reflection/Helpers.php: -------------------------------------------------------------------------------- 1 | getDeclaringClass()->getTraits() as $trait) { 25 | if ($trait->hasProperty($prop->getName())) { 26 | return self::getDeclaringClass($trait->getProperty($prop->getName())); 27 | } 28 | } 29 | return $prop->getDeclaringClass(); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /tracy/src/Tracy/BlueScreen/dist/section-exception-causedBy.phtml: -------------------------------------------------------------------------------- 1 | 4 | getPrevious() ?> 5 |
7 | 11 | 12 |
14 |
15 |
16 | -------------------------------------------------------------------------------- /docs/dependency-injection/cs/@home.texy: -------------------------------------------------------------------------------- 1 | Nette DI 2 | ******** 3 | 4 | .[perex] 5 | Dependency Injection je návrhový vzor, který zásadně změní váš pohled na kód a vývoj. Otevře vám cestu do světa čistě navržených a udržitelných aplikací. 6 | 7 | - [Co je Dependency Injection? |introduction] 8 | - [Globální stav a singletony |global-state] 9 | - [Předávání závislostí |passing-dependencies] 10 | - [Co je DI kontejner? |container] 11 | - [Často kladené otázky|faq] 12 | 13 | 14 | Balíček `nette/di` poskytuje nesmírně pokročilý kompilovaný DI kontejner pro PHP. 15 | 16 | - [Nette DI Container |nette-container] 17 | - [Konfigurace |configuration] 18 | - [Definování služeb |services] 19 | - [Autowiring |autowiring] 20 | - [Generované továrny |factory] 21 | - [Tvorba rozšíření pro Nette DI|extensions] 22 | -------------------------------------------------------------------------------- /forms/src/Forms/Rendering/LatteRenderer.php: -------------------------------------------------------------------------------- 1 | generateLatte($form); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /latte/src/Latte/Compiler/Nodes/TemplateNode.php: -------------------------------------------------------------------------------- 1 | head; 32 | yield $this->main; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /latte/src/Latte/Sandbox/Nodes/FunctionCallableNode.php: -------------------------------------------------------------------------------- 1 | name, $from->position); 21 | } 22 | 23 | 24 | public function print(PrintContext $context): string 25 | { 26 | return '$this->global->sandbox->closure(' 27 | . $context->memberAsString($this->name) . ')'; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /tracy/src/Tracy/BlueScreen/assets/section-exception-causedBy.latte: -------------------------------------------------------------------------------- 1 | {* 2 | * @var Throwable $ex 3 | * @var Throwable[] $exceptions 4 | * @var BlueScreen $this 5 | * @var array[] $actions 6 | * @var callable $dump 7 | *} 8 | {do $ex = $ex->getPrevious()} 9 | {exitIf !$ex || in_array($ex, $exceptions, true)} 10 | {do $exceptions[] = $ex} 11 | 12 |
13 | 16 | 17 |
18 | {do require(__DIR__ . '/section-exception.phtml')} 19 |
20 |
21 | -------------------------------------------------------------------------------- /docs/www/en/@menu-common.texy: -------------------------------------------------------------------------------- 1 | Introduction 2 | ************ 3 | - [Why Use Nette?|www:10-reasons-why-nette] 4 | - [Installation |nette:installation] 5 | - [Create Your First Application! |quickstart:] 6 | 7 | 8 | General Topics 9 | ************** 10 | - [List of Packages |www:packages] 11 | - [Maintenance and PHP Versions |www:maintenance] 12 | - [Release Notes |https://nette.org/releases] 13 | - [Upgrade Guide |migrations:] 14 | - [nette:Troubleshooting] 15 | - [Who Creates Nette |https://nette.org/contributors] 16 | - [History of Nette |history] 17 | - [Get Involved |contributing:] 18 | - [Sponsor Development |https://nette.org/en/donate] 19 | - [API Reference |https://api.nette.org/] 20 | - [Tutorials and Best Practices |best-practices:] 21 | 22 | - [Security First |nette:vulnerability-protection] 23 | -------------------------------------------------------------------------------- /tracy/src/Tracy/Bar/panels/dumps.tab.latte: -------------------------------------------------------------------------------- 1 | {exitIf empty($data)} 2 | 3 | 4 | 5 | dumps 7 | -------------------------------------------------------------------------------- /database/src/Database/Reflection/ForeignKey.php: -------------------------------------------------------------------------------- 1 | name; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /database/src/Database/SqlLiteral.php: -------------------------------------------------------------------------------- 1 | value; 28 | } 29 | 30 | 31 | public function getParameters(): array 32 | { 33 | return $this->parameters; 34 | } 35 | 36 | 37 | public function __toString(): string 38 | { 39 | return $this->value; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /forms/src/Forms/Controls/TextArea.php: -------------------------------------------------------------------------------- 1 | control->setName('textarea'); 25 | $this->setOption('type', 'textarea'); 26 | } 27 | 28 | 29 | public function getControl(): Nette\Utils\Html 30 | { 31 | return parent::getControl() 32 | ->setText((string) $this->getRenderedValue()); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /security/src/Bridges/SecurityTracy/dist/tab.phtml: -------------------------------------------------------------------------------- 1 | 4 | 'Logged in', false => 'Unlogged', '?' => 'Session is closed'] ?> '#61A519', false => '#ababab', '?' => '#bb0000'] ?> 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tracy/examples/warning.php: -------------------------------------------------------------------------------- 1 | 15 | 16 | 17 |

Tracy Warning and StrictMode demo

18 | 19 | For security reasons, Tracy is visible only on localhost. Look into the source code to see how to enable Tracy.

'; 26 | } 27 | -------------------------------------------------------------------------------- /latte/src/Latte/Compiler/Nodes/Php/NullableTypeNode.php: -------------------------------------------------------------------------------- 1 | type->print($context); 28 | } 29 | 30 | 31 | public function &getIterator(): \Generator 32 | { 33 | yield $this->type; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /latte/src/Latte/Compiler/Nodes/Php/SuperiorTypeNode.php: -------------------------------------------------------------------------------- 1 | type, $kind, strict: true); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /tracy/src/Tracy/assets/toggle.css: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the Tracy (https://tracy.nette.org) 3 | */ 4 | 5 | .tracy-collapsed { 6 | display: none; 7 | } 8 | 9 | .tracy-toggle.tracy-collapsed { 10 | display: inline; 11 | } 12 | 13 | .tracy-toggle { 14 | cursor: pointer; 15 | user-select: none; 16 | white-space: nowrap; 17 | } 18 | 19 | .tracy-toggle:after { 20 | content: ''; 21 | display: inline-block; 22 | vertical-align: middle; 23 | line-height: 0; 24 | border-top: .6ex solid; 25 | border-right: .6ex solid transparent; 26 | border-left: .6ex solid transparent; 27 | transform: scale(1, 1.5); 28 | margin: 0 .2ex 0 .7ex; 29 | transition: .1s transform; 30 | opacity: .5; 31 | } 32 | 33 | .tracy-toggle.tracy-collapsed:after { 34 | transform: rotate(-90deg) scale(1, 1.5) translate(.1ex, 0); 35 | } 36 | -------------------------------------------------------------------------------- /docs/tracy/cs/stopwatch.texy: -------------------------------------------------------------------------------- 1 | Měření času 2 | *********** 3 | 4 | Dalším užitečným nástrojem ladiče jsou stopky s přesností na mikrosekundy: 5 | 6 | ```php 7 | Debugger::timer(); 8 | 9 | // princi můj malinký spi, ptáčkové sladce již sní... 10 | sleep(2); 11 | 12 | $elapsed = Debugger::timer(); 13 | // $elapsed = 2 14 | ``` 15 | 16 | Volitelným parametrem je možno dosáhnout vícenásobných měření. 17 | 18 | ```php 19 | Debugger::timer('page-generating'); 20 | // nějaký kód 21 | 22 | Debugger::timer('rss-generating'); 23 | // nějaký kód 24 | 25 | $rssElapsed = Debugger::timer('rss-generating'); 26 | $pageElapsed = Debugger::timer('page-generating'); 27 | ``` 28 | 29 | ```php 30 | Debugger::timer(); // zapne stopky 31 | 32 | ... // časově náročná operace 33 | 34 | echo Debugger::timer(); // vypíše uplynulý čas v sekundách 35 | ``` 36 | -------------------------------------------------------------------------------- /caching/src/Caching/Storages/DevNullStorage.php: -------------------------------------------------------------------------------- 1 | dump($data) . ';'; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /latte/bin/latte-lint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env php 2 | \n"; 22 | exit(1); 23 | } 24 | 25 | if ($debug = in_array('--debug', $argv, true)) { 26 | echo "Debug mode\n"; 27 | } 28 | if ($strict = in_array('--strict', $argv, true)) { 29 | echo "Strict mode\n"; 30 | } 31 | 32 | $path = $argv[1]; 33 | $linter = new Latte\Tools\Linter(debug: $debug, strict: $strict); 34 | $ok = $linter->scanDirectory($path); 35 | exit($ok ? 0 : 1); 36 | -------------------------------------------------------------------------------- /latte/src/Latte/Sandbox/Nodes/FunctionCallNode.php: -------------------------------------------------------------------------------- 1 | name, $from->args, $from->position); 21 | } 22 | 23 | 24 | public function print(PrintContext $context): string 25 | { 26 | return '$this->global->sandbox->call(' 27 | . $context->memberAsString($this->name) . ', ' 28 | . $context->argumentsAsArray($this->args) . ')'; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /tracy/src/Tracy/Bar/assets/panels.latte: -------------------------------------------------------------------------------- 1 | {* 2 | * @var string $type 3 | * @var \stdClass[] $panels 4 | *} 5 | {do $icons = ' 6 |
7 | ¤ 8 | × 9 |
10 | '} 11 |
12 | {foreach $panels as $panel} 13 | {do $content = $panel->panel ? $panel->panel . "\n" . $icons : ''} 14 | {do $class = 'tracy-panel ' . ($type === ajax ? '' : tracy-panel-persist) . ' tracy-panel-' . $type} 15 |
16 | {/foreach} 17 | 18 |
19 | -------------------------------------------------------------------------------- /utils/src/compatibility.php: -------------------------------------------------------------------------------- 1 | global->uiNonce ? " nonce=\"{$this->global->uiNonce}\"" : "";'; 30 | } 31 | 32 | 33 | public function &getIterator(): \Generator 34 | { 35 | false && yield; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /docs/dependency-injection/en/@home.texy: -------------------------------------------------------------------------------- 1 | Nette DI 2 | ******** 3 | 4 | .[perex] 5 | Dependency Injection is a design pattern that will fundamentally change the way you look at code and development. It opens the way to a world of cleanly designed and sustainable applications. 6 | 7 | - [What is Dependency Injection? |introduction] 8 | - [Global State & Singletons |global-state] 9 | - [Passing Dependencies |passing-dependencies] 10 | - [What is a DI Container? |container] 11 | - [Frequently Asked Questions |faq] 12 | 13 | 14 | The `nette/di` package provides an extremely advanced compiled DI container for PHP. 15 | 16 | - [Nette DI Container |nette-container] 17 | - [Configuration |configuration] 18 | - [Service Definitions |services] 19 | - [Autowiring |autowiring] 20 | - [Generated Factories |factory] 21 | - [Creating Extensions for Nette DI|extensions] 22 | -------------------------------------------------------------------------------- /docs/www/cs/maintenance.texy: -------------------------------------------------------------------------------- 1 | Údržba a kompatibilita s PHP 2 | **************************** 3 | 4 | .[perex] 5 | Nette je framework s mimořádně dlouhou dobou podpory jednotlivých vydání. Každá větěv je LTS (Long-Term Support Release) s podporou nejméně 2 roky. 6 | 7 | Každá verze je aktivně udržována po období jednoho roku (nebo i déle) od počátečního stabilního vydání. Kritické a bezpečností chyby jsou opravovány po dva roky. 8 | 9 | 10 | Kalendář vydávání Nette 11 | ======================= 12 | 13 | {{include: doc-roadmap-table}} 14 | 15 | 16 | Kompatibilita s PHP 17 | =================== 18 | 19 | Kompatibilita platí vždy pro nejnovější vydání z každé řady. 20 | 21 | 22 | {{include: doc-roadmap-versions}} 23 | 24 | 25 | {{leftbar: @menu-common}} 26 | {{toc: no}} 27 | {{description: Vydání Nette, roadmap, tabulky údržby a kompatibilita s PHP}} 28 | -------------------------------------------------------------------------------- /forms/src/Forms/Rule.php: -------------------------------------------------------------------------------- 1 | validator) 34 | || Nette\Utils\Callback::isStatic($this->validator); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /latte/src/Bridges/Tracy/TracyExtension.php: -------------------------------------------------------------------------------- 1 | panel = new LattePanel(name: $name); 29 | Tracy\Debugger::getBar()->addPanel($this->panel); 30 | } 31 | 32 | 33 | public function beforeRender(Template $template): void 34 | { 35 | $this->panel->addTemplate($template); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /latte/src/Latte/Sandbox/Nodes/MethodCallableNode.php: -------------------------------------------------------------------------------- 1 | object, $from->name, $from->position); 21 | } 22 | 23 | 24 | public function print(PrintContext $context): string 25 | { 26 | return '$this->global->sandbox->closure([' 27 | . $this->object->print($context) . ', ' 28 | . $context->memberAsString($this->name) . '])'; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /tracy/src/Tracy/Bar/dist/dumps.tab.phtml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | dumps 9 | -------------------------------------------------------------------------------- /database/src/Database/Drivers/PDO/PgSQL/Driver.php: -------------------------------------------------------------------------------- 1 | resultClass = Result::class; 25 | return $connection; 26 | } 27 | 28 | 29 | public function createEngine(Drivers\Connection $connection): PostgreSQLEngine 30 | { 31 | return new PostgreSQLEngine($connection); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /tracy/examples/notice.php: -------------------------------------------------------------------------------- 1 | 15 | 16 | 17 |

Tracy Notice and StrictMode demo

18 | 19 | For security reasons, Tracy is visible only on localhost. Look into the source code to see how to enable Tracy.

'; 33 | } 34 | -------------------------------------------------------------------------------- /latte/src/Latte/Compiler/Nodes/Php/Expression/CloneNode.php: -------------------------------------------------------------------------------- 1 | expr->print($context); 29 | } 30 | 31 | 32 | public function &getIterator(): \Generator 33 | { 34 | yield $this->expr; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /latte/src/Latte/Compiler/Nodes/Php/Expression/NotNode.php: -------------------------------------------------------------------------------- 1 | prefixOp($this, '!', $this->expr); 29 | } 30 | 31 | 32 | public function &getIterator(): \Generator 33 | { 34 | yield $this->expr; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /latte/src/Latte/Compiler/Nodes/Php/InterpolatedStringPartNode.php: -------------------------------------------------------------------------------- 1 | expr->print($context) . ')'; 29 | } 30 | 31 | 32 | public function &getIterator(): \Generator 33 | { 34 | yield $this->expr; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /forms/src/assets/types.ts: -------------------------------------------------------------------------------- 1 | export type FormElement = (HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement | HTMLButtonElement) & { form: HTMLFormElement }; 2 | 3 | // number can only be created by the validator 4 | export type FormElementValue = string | string[] | boolean | FileList | number | null; 5 | 6 | export type Validator = ( 7 | elem: FormElement, 8 | arg: unknown, 9 | value: unknown, 10 | newValue: { value: unknown }, 11 | ) => boolean | null; 12 | 13 | export type Rule = { 14 | op: string; 15 | neg?: boolean; 16 | msg: string; 17 | arg?: unknown; 18 | rules?: Rule[]; 19 | condition?: boolean; 20 | control?: string; 21 | toggle?: Record; 22 | }; 23 | 24 | export type FormError = { 25 | element: FormElement; 26 | message: string; 27 | }; 28 | 29 | export type ToggleState = { 30 | elem: FormElement; 31 | state: boolean; 32 | }; 33 | -------------------------------------------------------------------------------- /http/src/Bridges/HttpTracy/SessionPanel.php: -------------------------------------------------------------------------------- 1 | =7.1" 18 | }, 19 | "require-dev": { 20 | "nette/tester": "~2.0", 21 | "tracy/tracy": "^2.3", 22 | "phpstan/phpstan": "^0.12" 23 | }, 24 | "autoload": { 25 | "classmap": ["src/"] 26 | }, 27 | "minimum-stability": "dev", 28 | "scripts": { 29 | "phpstan": "phpstan analyse", 30 | "tester": "tester tests -s" 31 | }, 32 | "extra": { 33 | "branch-alias": { 34 | "dev-master": "3.0-dev" 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /tokenizer/src/Tokenizer/Token.php: -------------------------------------------------------------------------------- 1 | value = $value; 31 | $this->type = $type; 32 | $this->offset = $offset; 33 | } 34 | 35 | 36 | /** @param int|string ...$args */ 37 | public function is(...$args): bool 38 | { 39 | return in_array($this->value, $args, true) 40 | || in_array($this->type, $args, true); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /latte/src/Latte/Compiler/Nodes/Php/Expression/ErrorSuppressNode.php: -------------------------------------------------------------------------------- 1 | prefixOp($this, '@', $this->expr); 29 | } 30 | 31 | 32 | public function &getIterator(): \Generator 33 | { 34 | yield $this->expr; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /latte/src/Latte/Compiler/Nodes/Php/IdentifierNode.php: -------------------------------------------------------------------------------- 1 | name; 29 | } 30 | 31 | 32 | public function print(PrintContext $context): string 33 | { 34 | return $this->name; 35 | } 36 | 37 | 38 | public function &getIterator(): \Generator 39 | { 40 | false && yield; 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /latte/src/Latte/Essential/Nodes/TraceNode.php: -------------------------------------------------------------------------------- 1 | format( 31 | 'Latte\Essential\Tracer::throw() %line;', 32 | $this->position, 33 | ); 34 | } 35 | 36 | 37 | public function &getIterator(): \Generator 38 | { 39 | false && yield; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /latte/src/Latte/Sandbox/Nodes/StaticMethodCallableNode.php: -------------------------------------------------------------------------------- 1 | class, $from->name, $from->position); 21 | } 22 | 23 | 24 | public function print(PrintContext $context): string 25 | { 26 | return '$this->global->sandbox->closure([' 27 | . $context->memberAsString($this->class) . ', ' 28 | . $context->memberAsString($this->name) . '])'; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /bootstrap/src/Bootstrap/Extensions/ConstantsExtension.php: -------------------------------------------------------------------------------- 1 | dynamic(), 25 | Expect::string(), 26 | ); 27 | } 28 | 29 | 30 | public function loadConfiguration(): void 31 | { 32 | foreach ($this->getConfig() as $name => $value) { 33 | $this->initialization->addBody('define(?, ?);', [$name, $value]); 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /tracy/src/Tracy/Bar/assets/loader.latte: -------------------------------------------------------------------------------- 1 | {* 2 | * @var string $nonceAttr 3 | * @var bool $async 4 | * @var string $requestId 5 | *} 6 | 7 | {do $baseUrl = $_SERVER[REQUEST_URI] ?? ''} 8 | {do $baseUrl .= strpos($baseUrl, '?') === false ? '?' : '&'} 9 | {do $asyncAttr = $async ? ' async' : ''} 10 | 11 | {if empty($content)} 12 | 13 | {else} 14 | 15 | 16 | 17 | 18 | Tracy.Debug.init({str_replace(['