diff --git a/LICENSE.md b/LICENSE.md index bc5674fe..6a920d60 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,17 +1,17 @@ -Copyright © 2008 by Yii Software (https://www.yiiframework.com/) +Copyright © 2008 by Yii Software () All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright +* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright +* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Yii Software nor the names of its +* Neither the name of Yii Software nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. diff --git a/README.md b/README.md index 22ed7ef3..6ff0d00d 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ The package provides various tools to help with dynamic server-side generation of HTML: - Tag classes `A`, `Address`, `Article`, `Aside`, `Audio`, `B`, `Body`, `Br`, `Button`, `Caption`, `Col`, `Colgroup`, - `Datalist`, `Div`, `Em`, `Fieldset`, `Footer`, `Form`, `H1`, `H2`, `H3`, `H4`, `H5`, `H6`, `Header`, `Hr`, `Hgroup`, + `Datalist`, `Div`, `Em`, `Fieldset`, `Footer`, `Form`, `H1`, `H2`, `H3`, `H4`, `H5`, `H6`, `Header`, `Hr`, `Hgroup`, `Html`, `I`, `Img`, `Input` (and specialized `Checkbox`, `Radio`, `Range`, `File`), `Label`, `Legend`, `Li`, `Link`, `Meta`, `Nav`, `Noscript`, `Ol`, `Optgroup`, `Option`, `P`, `Picture`, `Script`, `Section`, `Select`, `Small`, `Source`, `Span`, `Strong`, `Style`, `Table`, `Tbody`, `Td`, `Textarea`, `Tfoot`, `Th`, `Thead`, `Title`, `Tr`, @@ -104,7 +104,7 @@ echo \Yiisoft\Html\Tag\Div::tag()
contact us
``` -### Generating custom tags +### Generating custom tags To generate custom tags, use the `CustomTag` class. For example, the following code: @@ -126,10 +126,11 @@ By default, stringable objects that implement `\Yiisoft\Html\NoEncodeStringableI everything else is encoded. To change this behavior use `encode()` method passing one of the following values: + - `null`: default behavior; - `true`: any content is encoded; - `false`: nothing is encoded. - + > Note: all bundled tags and widgets implement `\Yiisoft\Html\NoEncodeStringableInterface` interface and are not encoded > by default when passed as content. Their own content is encoded. @@ -167,12 +168,12 @@ Represents a group of buttons. ```php echo \Yiisoft\Html\Widget\ButtonGroup::create() - ->buttons( - \Yiisoft\Html\Html::resetButton('Reset Data'), - \Yiisoft\Html\Html::resetButton('Send'), - ) - ->containerAttributes(['class' => 'actions']) - ->buttonAttributes(['form' => 'CreatePost']); + ->buttons( + \Yiisoft\Html\Html::resetButton('Reset Data'), + \Yiisoft\Html\Html::resetButton('Send'), + ) + ->containerAttributes(['class' => 'actions']) + ->buttonAttributes(['form' => 'CreatePost']); ``` Result will be: @@ -190,10 +191,10 @@ Represents a list of checkboxes. ```php echo \Yiisoft\Html\Widget\CheckboxList\CheckboxList::create('count') - ->items([1 => 'One', 2 => 'Two', 5 => 'Five']) - ->uncheckValue(0) - ->value(2, 5) - ->containerAttributes(['id' => 'main']); + ->items([1 => 'One', 2 => 'Two', 5 => 'Five']) + ->uncheckValue(0) + ->value(2, 5) + ->containerAttributes(['id' => 'main']); ``` Result will be: @@ -388,38 +389,14 @@ Overall the helper has the following method groups. - cssStyleFromArray - cssStyleToArray -## Testing - -### Unit testing - -The package is tested with [PHPUnit](https://phpunit.de/). To run tests: - -```shell -./vendor/bin/phpunit -``` - -### Mutation testing - -The package tests are checked with [Infection](https://infection.github.io/) mutation framework with -[Infection Static Analysis Plugin](https://github.com/Roave/infection-static-analysis-plugin). To run it: - -```shell -./vendor/bin/roave-infection-static-analysis-plugin -``` - -### Static analysis +## Documentation -The code is statically analyzed with [Psalm](https://psalm.dev/). To run static analysis: +- [Internals](docs/internals.md) -```shell -./vendor/bin/psalm -``` +## Support -## License - -The Yii HTML is free software. It is released under the terms of the BSD License. Please see [`LICENSE`](./LICENSE.md) for more information. - -Maintained by [Yii Software](https://www.yiiframework.com/). +If you need help or have a question, the [Yii Forum](https://forum.yiiframework.com/c/yii-3-0/63) is a good place for that. +You may also check out other [Yii Community Resources](https://www.yiiframework.com/community). ## Support the project @@ -432,3 +409,10 @@ Maintained by [Yii Software](https://www.yiiframework.com/). [![Telegram](https://img.shields.io/badge/telegram-join-1DA1F2?style=flat&logo=telegram)](https://t.me/yii3en) [![Facebook](https://img.shields.io/badge/facebook-join-1DA1F2?style=flat&logo=facebook&logoColor=ffffff)](https://www.facebook.com/groups/yiitalk) [![Slack](https://img.shields.io/badge/slack-join-1DA1F2?style=flat&logo=slack)](https://yiiframework.com/go/slack) + +## License + +The Yii HTML is free software. It is released under the terms of the BSD License. +Please see [`LICENSE`](./LICENSE.md) for more information. + +Maintained by [Yii Software](https://www.yiiframework.com/). diff --git a/docs/internals.md b/docs/internals.md new file mode 100644 index 00000000..f2b7b5ef --- /dev/null +++ b/docs/internals.md @@ -0,0 +1,45 @@ +# Internals + +## Unit testing + +The package is tested with [PHPUnit](https://phpunit.de/). To run tests: + +```shell +./vendor/bin/phpunit +``` + +## Mutation testing + +The package tests are checked with [Infection](https://infection.github.io/) mutation framework with +[Infection Static Analysis Plugin](https://github.com/Roave/infection-static-analysis-plugin). To run it: + +```shell +./vendor/bin/roave-infection-static-analysis-plugin +``` + +## Static analysis + +The code is statically analyzed with [Psalm](https://psalm.dev/). To run static analysis: + +```shell +./vendor/bin/psalm +``` + +## Code style + +Use [Rector](https://github.com/rectorphp/rector) to make codebase follow some specific rules or +use either newest or any specific version of PHP: + +```shell +./vendor/bin/rector +``` + +## Dependencies + +This package uses [composer-require-checker](https://github.com/maglnet/ComposerRequireChecker) to check if all dependencies are correctly defined in `composer.json`. + +To run the checker, execute the following command: + +```shell +./vendor/bin/composer-require-checker +```