From b9f8fdca7a0fa1ce9fd2841bd472c1dcd0dd8358 Mon Sep 17 00:00:00 2001 From: Wilmer Arambula Date: Sun, 1 Jun 2025 15:16:21 -0400 Subject: [PATCH 01/11] Refactor namespaces standard `Yii2`. --- composer.json | 7 +- config/params-console.php | 2 +- config/params-web.php | 5 +- config/web/bootstrap.php | 2 +- src/Framework/{Asset => assets}/AppAsset.php | 11 +- .../{Asset => assets}/LocaleAsset.php | 5 +- .../{Asset => assets}/ToggleThemeAsset.php | 8 +- .../ContactEventHandler.php | 8 +- .../resource/layout/component/alert.php | 8 +- .../layout/component/footer-icons.php | 123 ++++++------ .../layout/component/toggle_language.php | 46 ++++- .../layout/component/toggle_theme.php | 26 +++ src/Framework/resource/layout/footer.php | 67 +++---- src/Framework/resource/layout/head.php | 11 +- src/Framework/resource/layout/main.php | 25 ++- src/UseCase/Contact/ContactController.php | 10 +- src/UseCase/Contact/ContactEvent.php | 2 +- src/UseCase/Contact/ContactForm.php | 2 +- .../Contact/{Index => }/IndexAction.php | 10 +- src/UseCase/Contact/view/index.php | 176 ++++++++---------- src/UseCase/Controller.php | 2 +- src/UseCase/Site/{About => }/AboutAction.php | 2 +- src/UseCase/Site/SiteController.php | 5 +- src/UseCase/Site/view/404.php | 50 ++--- src/UseCase/Site/view/about.php | 22 +-- src/UseCase/Site/view/index.php | 26 +-- src/UseCase/hello/HelloController.php | 17 ++ tests/Unit/HelloControllerTest.php | 2 +- 28 files changed, 342 insertions(+), 338 deletions(-) rename src/Framework/{Asset => assets}/AppAsset.php (66%) rename src/Framework/{Asset => assets}/LocaleAsset.php (82%) rename src/Framework/{Asset => assets}/ToggleThemeAsset.php (75%) rename src/Framework/{EventHandler => events}/ContactEventHandler.php (79%) create mode 100644 src/Framework/resource/layout/component/toggle_theme.php rename src/UseCase/Contact/{Index => }/IndexAction.php (87%) rename src/UseCase/Site/{About => }/AboutAction.php (85%) create mode 100644 src/UseCase/hello/HelloController.php diff --git a/composer.json b/composer.json index eead50b..4100960 100644 --- a/composer.json +++ b/composer.json @@ -14,11 +14,8 @@ "require": { "php": ">=8.2", "php-forge/foxy": "^0.1", - "sjaakp/yii2-icon": "^1.0", "ui-awesome/html": "^0.3", "ui-awesome/html-component-bootstrap5": "^1.0@dev", - "ui-awesome/html-core":"^0.1", - "ui-awesome/html-helper":"^0.2", "ui-awesome/html-svg":"^0.2", "yii2-extensions/localeurls": "dev-main", "yiisoft/config": "^1.4", @@ -45,12 +42,12 @@ }, "autoload": { "psr-4": { - "App\\": "src/" + "app\\": "src/" } }, "autoload-dev": { "psr-4": { - "App\\Tests\\": "tests/" + "app\\tests\\": "tests/" } }, "extra": { diff --git a/config/params-console.php b/config/params-console.php index c92620a..0e6983a 100644 --- a/config/params-console.php +++ b/config/params-console.php @@ -2,7 +2,7 @@ declare(strict_types=1); -use App\UseCase\Hello\HelloController; +use app\usecase\hello\HelloController; use yii\console\controllers\ServeController; $rootDir = dirname(__DIR__); diff --git a/config/params-web.php b/config/params-web.php index 6befc1c..7cfe514 100644 --- a/config/params-web.php +++ b/config/params-web.php @@ -2,8 +2,8 @@ declare(strict_types=1); -use App\UseCase\Contact\ContactController; -use App\UseCase\Site\SiteController; +use app\usecase\contact\ContactController; +use app\usecase\site\SiteController; return [ // web application settings shared @@ -59,7 +59,6 @@ ], ], 'app.menu.islogged' => [], - 'icons' => '@npm/@fortawesome/fontawesome-free/svgs/{family}/{name}.svg', ], 'web.request.cookieValidationKey' => 'your-cookie-validation-key', 'web.request.enableCsrfValidation' => true, diff --git a/config/web/bootstrap.php b/config/web/bootstrap.php index a63a611..795fd61 100644 --- a/config/web/bootstrap.php +++ b/config/web/bootstrap.php @@ -2,7 +2,7 @@ declare(strict_types=1); -use App\Framework\EventHandler\ContactEventHandler; +use app\Framework\events\ContactEventHandler; return [ 'bootstrap' => [ diff --git a/src/Framework/Asset/AppAsset.php b/src/Framework/assets/AppAsset.php similarity index 66% rename from src/Framework/Asset/AppAsset.php rename to src/Framework/assets/AppAsset.php index 1040770..cc32144 100644 --- a/src/Framework/Asset/AppAsset.php +++ b/src/Framework/assets/AppAsset.php @@ -2,16 +2,11 @@ declare(strict_types=1); -namespace App\Framework\Asset; +namespace app\framework\assets; -use yii\bootstrap5\BootstrapAsset; -use yii\bootstrap5\BootstrapPluginAsset; -use yii\web\AssetBundle; -use yii\web\YiiAsset; +use yii\bootstrap5\{BootstrapAsset, BootstrapPluginAsset}; +use yii\web\{AssetBundle, YiiAsset}; -/** - * Asset bundle for the web application. - **/ final class AppAsset extends AssetBundle { public $sourcePath = __DIR__ . '/../resource/'; diff --git a/src/Framework/Asset/LocaleAsset.php b/src/Framework/assets/LocaleAsset.php similarity index 82% rename from src/Framework/Asset/LocaleAsset.php rename to src/Framework/assets/LocaleAsset.php index 2bd6b3a..69dab27 100644 --- a/src/Framework/Asset/LocaleAsset.php +++ b/src/Framework/assets/LocaleAsset.php @@ -2,13 +2,10 @@ declare(strict_types=1); -namespace App\Framework\Asset; +namespace app\framework\assets; use yii\web\AssetBundle; -/** - * Asset bundle for locale urls. - **/ final class LocaleAsset extends AssetBundle { public $sourcePath = '@npm/flag-icons/'; diff --git a/src/Framework/Asset/ToggleThemeAsset.php b/src/Framework/assets/ToggleThemeAsset.php similarity index 75% rename from src/Framework/Asset/ToggleThemeAsset.php rename to src/Framework/assets/ToggleThemeAsset.php index 53c4737..edeeeea 100644 --- a/src/Framework/Asset/ToggleThemeAsset.php +++ b/src/Framework/assets/ToggleThemeAsset.php @@ -2,15 +2,11 @@ declare(strict_types=1); -namespace App\Framework\Asset; +namespace app\framework\assets; use yii\bootstrap5\BootstrapAsset; -use yii\web\AssetBundle; -use yii\web\View; +use yii\web\{AssetBundle, View}; -/** - * Asset bundle for the toggle theme. - **/ final class ToggleThemeAsset extends AssetBundle { public $sourcePath = __DIR__ . '/../resource/js/'; diff --git a/src/Framework/EventHandler/ContactEventHandler.php b/src/Framework/events/ContactEventHandler.php similarity index 79% rename from src/Framework/EventHandler/ContactEventHandler.php rename to src/Framework/events/ContactEventHandler.php index edcec03..b1896f3 100644 --- a/src/Framework/EventHandler/ContactEventHandler.php +++ b/src/Framework/events/ContactEventHandler.php @@ -2,13 +2,11 @@ declare(strict_types=1); -namespace App\Framework\EventHandler; +namespace app\framework\events; -use App\UseCase\Contact\ContactEvent; -use App\UseCase\Contact\Index\IndexAction; +use app\usecase\contact\{ContactEvent, IndexAction}; use Yii; -use yii\base\BootstrapInterface; -use yii\base\Event; +use yii\base\{BootstrapInterface, Event}; use yii\web\Application; final class ContactEventHandler implements BootstrapInterface diff --git a/src/Framework/resource/layout/component/alert.php b/src/Framework/resource/layout/component/alert.php index 422038d..cca6dca 100644 --- a/src/Framework/resource/layout/component/alert.php +++ b/src/Framework/resource/layout/component/alert.php @@ -2,7 +2,7 @@ declare(strict_types=1); -use UIAwesome\Html\{Component\Bootstrap5\Alert, Group\Div}; +use UIAwesome\Html\{Component\Bootstrap5\Alert}; $session = Yii::$app->getSession(); $flashMessages = $session->getAllFlashes(); @@ -13,5 +13,7 @@ $html[] = Alert::widget()->cookbook('dismissible', $type)->content($message); } } - -echo Div::widget()->id('alert_dismissing')->content(...$html); +?> +
+ +
diff --git a/src/Framework/resource/layout/component/footer-icons.php b/src/Framework/resource/layout/component/footer-icons.php index 609c74e..0ae26bb 100644 --- a/src/Framework/resource/layout/component/footer-icons.php +++ b/src/Framework/resource/layout/component/footer-icons.php @@ -2,65 +2,68 @@ declare(strict_types=1); -use UIAwesome\Html\{Graphic\Svg, Textual\A}; +use UIAwesome\Html\{Graphic\Svg}; +use yii\helpers\Html; -$linkIconDefinitions = [ - 'class()' => ['d-none d-sm-block d-md-block d-lg-block d-xl-block text-muted hover:text-dark text-decoration-none ms-3'], - 'rel()' => ['noopener'], - 'target()' => ['_blank'], -]; +?> -$svgDefinitions = [ - 'fill()' => ['currentColor'], - 'height()' => ['32'], -]; - -// Github icon -echo A::widget($linkIconDefinitions) - ->class('md:block hidden') - ->content( - Svg::widget($svgDefinitions) - ->filePath(Yii::getAlias('@npm/@fortawesome/fontawesome-free/svgs/brands/github.svg')), - ) - ->href('https://github.com/yiisoft') - ->title('GitHub'); - -// Slack icon -echo A::widget($linkIconDefinitions) - ->class('md:block hidden') - ->content( - Svg::widget($svgDefinitions) - ->filePath(Yii::getAlias('@npm/@fortawesome/fontawesome-free/svgs/brands/slack.svg')), - ) - ->href( - 'https://join.slack.com/t/yii/shared_invite/enQtMzQ4MDExMDcyNTk2LTc0NDQ2ZTZhNjkzZDgwYjE4YjZlNGQxZjFmZDBjZTU3NjViMDE4ZTMxNDRkZjVlNmM1ZTA1ODVmZGUwY2U3NDA', - ) - ->title('Slack'); - -// Facebook icon -echo A::widget($linkIconDefinitions) - ->class('md:block hidden') - ->content( - Svg::widget($svgDefinitions) - ->filePath(Yii::getAlias('@npm/@fortawesome/fontawesome-free/svgs/brands/facebook.svg')), - ) - ->href('https://www.facebook.com/groups/yiitalk/') - ->title('Facebook'); - -// Twitter icon -echo A::widget($linkIconDefinitions) - ->content( - Svg::widget($svgDefinitions) - ->filePath(Yii::getAlias('@npm/@fortawesome/fontawesome-free/svgs/brands/twitter.svg')), - ) - ->href('https://twitter.com/yiiframework') - ->title('Twitter'); - -// Telegram icon -echo A::widget($linkIconDefinitions) - ->content( - Svg::widget($svgDefinitions) - ->filePath(Yii::getAlias('@npm/@fortawesome/fontawesome-free/svgs/brands/telegram.svg')), - ) - ->href('https://t.me/yii_framework_in_english') - ->title('Telegram'); +attributes(['height' => '24', 'width' => '24']) + ->filePath(Yii::getAlias('@npm/bootstrap-icons/icons/github.svg')) + ->render(), + 'https://github.com/yiisoft', + [ + 'class' => 'd-none d-sm-block d-md-block d-lg-block d-xl-block text-muted hover:text-dark text-decoration-none ms-3', + 'rel' => 'noopener', + 'title' => 'GitHub', + ], +) ?> +attributes(['height' => '24', 'width' => '24']) + ->filePath(Yii::getAlias('@npm/bootstrap-icons/icons/slack.svg')) + ->render(), + 'https://join.slack.com/t/yii/shared_invite/enQtMzQ4MDExMDcyNTk2LTc0NDQ2ZTZhNjkzZDgwYjE4YjZlNGQxZjFmZDBjZTU3NjViMDE4ZTMxNDRkZjVlNmM1ZTA1ODVmZGUwY2U3NDA', + [ + 'class' => 'd-none d-sm-block d-md-block d-lg-block d-xl-block text-muted hover:text-dark text-decoration-none ms-3', + 'rel' => 'noopener', + 'title' => 'Slack', + ], +) ?> +attributes(['height' => '24', 'width' => '24']) + ->filePath(Yii::getAlias('@npm/bootstrap-icons/icons/facebook.svg')) + ->render(), + 'https://www.facebook.com/groups/yiitalk/', + [ + 'class' => 'd-none d-sm-block d-md-block d-lg-block d-xl-block text-muted hover:text-dark text-decoration-none ms-3', + 'rel' => 'noopener', + 'title' => 'Facebook', + ], +) ?> +attributes(['height' => '24', 'width' => '24']) + ->filePath(Yii::getAlias('@npm/bootstrap-icons/icons/twitter.svg')) + ->render(), + 'https://twitter.com/yiiframework', + [ + 'class' => 'd-none d-sm-block d-md-block d-lg-block d-xl-block text-muted hover:text-dark text-decoration-none ms-3', + 'rel' => 'noopener', + 'title' => 'Twitter', + ], +) ?> +attributes(['height' => '24', 'width' => '24']) + ->filePath(Yii::getAlias('@npm/bootstrap-icons/icons/telegram.svg')) + ->render(), + 'https://t.me/yii_framework_in_english', + [ + 'class' => 'd-none d-sm-block d-md-block d-lg-block d-xl-block text-muted hover:text-dark text-decoration-none ms-3', + 'rel' => 'noopener', + 'title' => 'Telegram', + ], +) ?> diff --git a/src/Framework/resource/layout/component/toggle_language.php b/src/Framework/resource/layout/component/toggle_language.php index cea71bd..6f57087 100644 --- a/src/Framework/resource/layout/component/toggle_language.php +++ b/src/Framework/resource/layout/component/toggle_language.php @@ -2,8 +2,9 @@ declare(strict_types=1); -use App\Framework\Asset\LocaleAsset; -use UIAwesome\Html\Component\Bootstrap5\{Dropdown, Item}; +use app\framework\assets\LocaleAsset; +use UIAwesome\Html\Graphic\Svg; +use yii\helpers\Html; use yii\{helpers\Url, web\View}; /** @@ -27,11 +28,38 @@ $languageLabel = "site.selector.language.$key"; } - $items[] = Item::widget() - ->iconClass('fi fi-' . $icon . ' fis me-2') - ->label(Yii::t('app.basic', "site.selector.language.$key")) - ->link(Url::current(['language' => $key])) - ->active(Yii::$app->language === $value); + $items[] = Html::a( + ' ' . Yii::t('app.basic', "site.selector.language.$key"), + Url::current(['language' => $key]), + [ + 'class' => 'dropdown-item d-flex align-items-center' . (Yii::$app->language === $value ? ' active' : ''), + ], + ); } - -echo Dropdown::widget()->cookbook('language')->items(...$items); +?> +
+ attributes(['height' => '24', 'width' => '24']) + ->class('w-3 h-3') + ->filePath(Yii::getAlias('@npm/bootstrap-icons/icons/globe.svg')) + ->render(), + [ + 'aria-expanded' => 'true', + 'aria-label' => 'Toggle language dropdown', + 'class' => 'btn btn-primary dropdown-toggle d-flex align-items-center text-white show', + 'data-bs-toggle' => 'dropdown', + 'title' => 'Select language', + 'type' => 'button', + ], + ) ?> + +
diff --git a/src/Framework/resource/layout/component/toggle_theme.php b/src/Framework/resource/layout/component/toggle_theme.php new file mode 100644 index 0000000..2033334 --- /dev/null +++ b/src/Framework/resource/layout/component/toggle_theme.php @@ -0,0 +1,26 @@ + +attributes(['height' => '24', 'width' => '24']) + ->filePath(Yii::getAlias('@npm/bootstrap-icons/icons/moon-stars.svg')) + ->id('theme-light-icon') + ->render() . + Svg::widget() + ->attributes(['height' => '24', 'width' => '24']) + ->filePath(Yii::getAlias('@npm/bootstrap-icons/icons/sun.svg')) + ->id('theme-dark-icon') + ->render(), + [ + 'class' => 'btn ms-2 me-2', + 'id' => 'theme-toggle', + 'type' => 'button', + 'title' => 'Switch light/dark mode', + ], +) ?> diff --git a/src/Framework/resource/layout/footer.php b/src/Framework/resource/layout/footer.php index 93d9b0a..61bea26 100644 --- a/src/Framework/resource/layout/footer.php +++ b/src/Framework/resource/layout/footer.php @@ -2,45 +2,40 @@ declare(strict_types=1); -use App\Framework\Asset\ToggleThemeAsset; -use UIAwesome\Html\{ - Component\Bootstrap5\Toggle, - Group\Div, - Semantic\Footer, - Textual\A, - Textual\Span -}; +use app\framework\assets\ToggleThemeAsset; +use yii\helpers\Html; use yii\web\View; /** * @var View $this */ ToggleThemeAsset::register($this); -echo Div::widget() - ->class('container mt-auto') - ->content( - Footer::widget() - ->class('d-flex justify-content-between align-items-center py-3 my-4 border-top border-secondary-subtle') - ->content( - Div::widget()->class('col-md-4') - ->content( - A::widget() - ->ariaLabel('Yii Framework') - ->class('mb-3 mb-md-0 text-body-secondary text-decoration-none lh-1') - ->content( - Span::widget() - ->class('mb-3 mb-md-0 text-body-secondary') - ->content('©', date('Y'), ' YiiFramework™.'), - ) - ->href('https://www.yiiframework.com/') - ->title('Yii Framework'), - ), - Div::widget() - ->class('col-md-4 justify-content-end d-flex align-items-center') - ->content( - $this->render('component/footer-icons'), - Toggle::Widget()->cookbook('selector-theme')->id('theme-toggle'), - $this->render('component/toggle_language'), - ), - ), - ); +?> + +
+
+
+ YiiFramework™.', + [ + 'class' => 'mb-3 mb-md-0 text-body-secondary', + ], + ), + 'https://www.yiiframework.com/', + [ + 'aria-label' => 'Yii Framework', + 'class' => 'mb-3 mb-md-0 text-body-secondary text-decoration-none lh-1', + 'title' => 'Yii Framework', + ], + ) ?> +
+
+ render('component/footer-icons') ?> + render('component/toggle_theme') ?> + render('component/toggle_language') ?> +
+
+
diff --git a/src/Framework/resource/layout/head.php b/src/Framework/resource/layout/head.php index cd8f701..d56a3f2 100644 --- a/src/Framework/resource/layout/head.php +++ b/src/Framework/resource/layout/head.php @@ -2,17 +2,16 @@ declare(strict_types=1); -use UIAwesome\Html\{Document\Head, Metadata\Meta, Metadata\Title}; use yii\{helpers\Html, web\View}; /** * @var View $this */ ?> -begin() ?> - charset(Yii::$app->charset) ?> - content('width=device-width, initial-scale=1')->name('viewport') ?> + + + - content(Html::encode($this->title)) ?> + <?= Html::encode($this->title) ?> head() ?> - diff --git a/src/Framework/resource/layout/main.php b/src/Framework/resource/layout/main.php index 8280ebd..d7c61a8 100644 --- a/src/Framework/resource/layout/main.php +++ b/src/Framework/resource/layout/main.php @@ -2,9 +2,7 @@ declare(strict_types=1); -use App\Framework\Asset\AppAsset; -use sjaakp\icon\Icon; -use UIAwesome\Html\{Document\Body, Document\Html, Group\Div, Semantic\Header}; +use app\framework\assets\AppAsset; use yii\{bootstrap5\Breadcrumbs, web\View}; /** @@ -15,12 +13,12 @@ ?> beginPage() ?> - attributes(['lang' => Yii::$app->language, 'data-bs-theme' => 'auto'])->begin() ?> + render('head') ?> - beginBody() ?> - class('d-flex')->begin() ?> - class('cover-container d-flex w-100 h-100 mx-auto flex-column')->begin() ?> - class('mb-auto')->begin() ?> + + beginBody() ?> +
+
render('component/menu') ?> render('component/alert') ?> $this->params['breadcrumbs'] ?? [], ], ) ?> - +
render('footer') ?> - - - - endBody() ?> - +
+ endBody() ?> + + endPage(); diff --git a/src/UseCase/Contact/ContactController.php b/src/UseCase/Contact/ContactController.php index 77c1270..e0e89d6 100644 --- a/src/UseCase/Contact/ContactController.php +++ b/src/UseCase/Contact/ContactController.php @@ -2,13 +2,11 @@ declare(strict_types=1); -namespace App\UseCase\Contact; +namespace app\usecase\contact; -use App\UseCase\Contact\Index\IndexAction; -use App\UseCase\Controller; +use app\usecase\Controller; use yii\captcha\CaptchaAction; - -use function array_merge; +use yii\helpers\ArrayHelper; final class ContactController extends Controller { @@ -19,7 +17,7 @@ final class ContactController extends Controller public function actions(): array { - return array_merge( + return ArrayHelper::merge( [ 'index' => [ 'class' => IndexAction::class, diff --git a/src/UseCase/Contact/ContactEvent.php b/src/UseCase/Contact/ContactEvent.php index bfd4267..aa97463 100644 --- a/src/UseCase/Contact/ContactEvent.php +++ b/src/UseCase/Contact/ContactEvent.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace App\UseCase\Contact; +namespace app\usecase\contact; use yii\base\Event; diff --git a/src/UseCase/Contact/ContactForm.php b/src/UseCase/Contact/ContactForm.php index c9c892f..3b20448 100644 --- a/src/UseCase/Contact/ContactForm.php +++ b/src/UseCase/Contact/ContactForm.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace App\UseCase\Contact; +namespace app\usecase\contact; use Yii; use yii\base\Model; diff --git a/src/UseCase/Contact/Index/IndexAction.php b/src/UseCase/Contact/IndexAction.php similarity index 87% rename from src/UseCase/Contact/Index/IndexAction.php rename to src/UseCase/Contact/IndexAction.php index 1cff7ba..08a8848 100644 --- a/src/UseCase/Contact/Index/IndexAction.php +++ b/src/UseCase/Contact/IndexAction.php @@ -2,15 +2,11 @@ declare(strict_types=1); -namespace App\UseCase\Contact\Index; +namespace app\usecase\contact; -use App\UseCase\Contact\ContactEvent; -use yii\base\Action; -use yii\base\InvalidConfigException; +use yii\base\{Action, InvalidConfigException}; use yii\symfonymailer\Mailer; -use yii\web\Controller; -use yii\web\Request; -use yii\web\Session; +use yii\web\{Controller, Request, Session}; final class IndexAction extends Action { diff --git a/src/UseCase/Contact/view/index.php b/src/UseCase/Contact/view/index.php index 51eed69..a6093c7 100644 --- a/src/UseCase/Contact/view/index.php +++ b/src/UseCase/Contact/view/index.php @@ -2,9 +2,9 @@ declare(strict_types=1); -use App\UseCase\Contact\ContactForm; -use UIAwesome\Html\{FormControl\Input\Submit, Group\Div, Group\Hr, Group\P, Helper\Encode, Semantic\H}; +use app\usecase\contact\ContactForm; use yii\{bootstrap5\ActiveForm, captcha\Captcha, symfonymailer\Mailer, web\Session, web\View}; +use yii\helpers\Html; /** * @var ContactForm $model @@ -12,113 +12,96 @@ * @var Session $session * @var View $this */ -$this->title = $this->title = Yii::t('app.basic', 'Contact'); +$this->title = Yii::t('app.basic', 'Contact'); $tabInput = 1; ?> -class('container mt-3')->begin() ?> - class('row align-items-center justify-content-center')->begin() ?> - class('col-md-5 col-sm-12')->begin() ?> - class('bg-body-tertiary shadow border-0 rounded border-light p-4 p-lg-5 w-100 fmxw-500') - ->begin() - ?> - content(Encode::content($this->title))->class('fw-bold')->tagName('h1') ?> - content(Yii::t('app.basic', 'Please fill out the following form to contact us.')) ?> - class('mb-3') ?> +
+
+
+
+

title) ?>

+

+
'contact-form', 'layout' => ActiveForm::LAYOUT_FLOATING, - ] + ], ) ?> - field($model, 'name') - ->textInput( - [ - 'autofocus' => true, - 'oninvalid' => 'this.setCustomValidity("' . Yii::t('app.basic', 'Enter Username Here') .'")', - 'required' => true, - 'tabindex' => $tabInput++, - ] - ) - ?> - field($model, 'email') - ->textInput( - [ - 'oninvalid' => 'this.setCustomValidity("' . Yii::t('app.basic', 'Enter Email Here') . '")', - 'required' => true, - 'tabindex' => $tabInput++, - ] - ) - ?> - field($model, 'subject') - ->textInput( - [ - 'oninvalid' => 'this.setCustomValidity("' . Yii::t('app.basic', 'Enter Subject Here').'")', - 'required' => true, - 'tabindex' => $tabInput++, - ] - ) - ?> - field($model, 'body') - ->textarea( - [ - 'oninvalid' => 'this.setCustomValidity("' . Yii::t('app.basic', 'Enter Body Here') . '")', - 'required' => true, - 'style' => 'height: 100px', - 'tabindex' => $tabInput++, - ] - ) - ?> - field($model, 'verifyCode', ['labelOptions' => ['id' => 'verifyCode']]) - ->widget( - Captcha::class, - [ - 'captchaAction' => 'contact/captcha', - 'template' => '{input}
' . '' . Yii::t('app.basic', 'Captcha Code') . ': ' . '' . '{image}
', - 'options' => [ - 'class' => 'form-control', - 'oninvalid' => 'this.setCustomValidity("' . Yii::t('app.basic', 'Enter Captcha Code Here') . '")', - 'required' => true, - 'tabindex' => $tabInput++, - ], - ] - ) - ?> - class('d-grid gap-2') - ->content( - Submit::widget() - ->class('btn btn-lg btn-primary btn-block') - ->name('contact-button') - ->tabIndex($tabInput++) - ->value(Yii::t('app.basic', 'Contact us')) - ) - ?> + field($model, 'name')->textInput( + [ + 'autofocus' => true, + 'oninvalid' => 'this.setCustomValidity("' . Yii::t('app.basic', 'Enter Username Here') . '")', + 'required' => true, + 'tabindex' => $tabInput++, + ], + ) ?> + field($model, 'email')->textInput( + [ + 'oninvalid' => 'this.setCustomValidity("' . Yii::t('app.basic', 'Enter Email Here') . '")', + 'required' => true, + 'tabindex' => $tabInput++, + ], + ) ?> + field($model, 'subject')->textInput( + [ + 'oninvalid' => 'this.setCustomValidity("' . Yii::t('app.basic', 'Enter Subject Here') . '")', + 'required' => true, + 'tabindex' => $tabInput++, + ], + ) ?> + field($model, 'body')->textarea( + [ + 'oninvalid' => 'this.setCustomValidity("' . Yii::t('app.basic', 'Enter Body Here') . '")', + 'required' => true, + 'style' => 'height: 100px', + 'tabindex' => $tabInput++, + ], + ) ?> + field($model, 'verifyCode', ['labelOptions' => ['id' => 'verifyCode']])->widget( + Captcha::class, + [ + 'captchaAction' => 'contact/captcha', + 'template' => '{input}
' . '' . + Yii::t('app.basic', 'Captcha Code') . ': ' . '' . '{image}
', + 'options' => [ + 'class' => 'form-control', + 'oninvalid' => 'this.setCustomValidity("' . + Yii::t('app.basic', 'Enter Captcha Code Here') . '")', + 'required' => true, + 'tabindex' => $tabInput++, + ], + ], + ) ?> +
+ 'btn btn-lg btn-primary btn-block', + 'name' => 'contact-button', + 'tabindex' => $tabInput++, + ], + ) ?> - - - - class('text-center mt-5')->begin() ?> +
+
+
+

hasFlash('contactFormSubmitted')) : ?> - - class('text-center')->begin() ?> +


+



useFileTransport) : ?>
' . Yii::getAlias($mailer->fileTransportPath) . '' ?> @@ -126,10 +109,11 @@
useFileTransport property of the mail application component to be false to enable email sending.' + 'Please configure the useFileTransport property of the mail ' . + 'application component to be false to enable email sending.', ) ?> - +

- - +
diff --git a/src/UseCase/Controller.php b/src/UseCase/Controller.php index 4989468..3a9f5ea 100644 --- a/src/UseCase/Controller.php +++ b/src/UseCase/Controller.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace App\UseCase; +namespace app\usecase; use yii\filters\VerbFilter; use yii\web\ErrorAction; diff --git a/src/UseCase/Site/About/AboutAction.php b/src/UseCase/Site/AboutAction.php similarity index 85% rename from src/UseCase/Site/About/AboutAction.php rename to src/UseCase/Site/AboutAction.php index 77be102..df0aa02 100644 --- a/src/UseCase/Site/About/AboutAction.php +++ b/src/UseCase/Site/AboutAction.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace App\UseCase\Site\About; +namespace app\usecase\site; use yii\base\Action; diff --git a/src/UseCase/Site/SiteController.php b/src/UseCase/Site/SiteController.php index 7af21fd..59dc591 100644 --- a/src/UseCase/Site/SiteController.php +++ b/src/UseCase/Site/SiteController.php @@ -2,10 +2,9 @@ declare(strict_types=1); -namespace App\UseCase\Site; +namespace app\usecase\site; -use App\UseCase\Controller; -use App\UseCase\Site\About\AboutAction; +use app\usecase\Controller; use yii\web\ErrorAction; final class SiteController extends Controller diff --git a/src/UseCase/Site/view/404.php b/src/UseCase/Site/view/404.php index c5e9c5b..30bec5a 100644 --- a/src/UseCase/Site/view/404.php +++ b/src/UseCase/Site/view/404.php @@ -2,42 +2,28 @@ declare(strict_types=1); -use UIAwesome\Html\{Group\Div, Helper\Encode, Multimedia\Img, Semantic\H}; +use yii\helpers\Html; use yii\web\View; /** - * @var string $message * @var string $name * @var View $this */ $this->title = $name; - -echo Div::widget() - ->class('d-flex flex-column align-items-center justify-center') - ->content( - Div::widget() - ->class('text-center mb-3') - ->content( - Img::widget() - ->alt('404') - ->class('img-fluid mb-4') - ->src( - 'https://raw.githubusercontent.com/yii-tools/.github/61bbcb1b1f777740cce4200f95ae4bc0aa4350a8/images/app/404.svg', - ) - ), - Div::widget() - ->class('text-center mb-3') - ->content( - H::widget()->class('mb-4')->content(Encode::content($this->title))->tagName('h1'), - H::widget() - ->content( - Encode::content(Yii::t('app.basic', 'Oops! Looks like you followed a bad link.')) - ) - ->tagName('h6'), - H::widget() - ->content( - Encode::content(Yii::t('app.basic', 'If you think this is a problem with us, please tell us.')) - ) - ->tagName('h6'), - ), - ); +?> +
+
+ '404', + 'class' => 'img-fluid mb-4', + ], + ) ?> +
+
+

title) ?>

+
+
+
+
diff --git a/src/UseCase/Site/view/about.php b/src/UseCase/Site/view/about.php index d9a8812..2b6b16c 100644 --- a/src/UseCase/Site/view/about.php +++ b/src/UseCase/Site/view/about.php @@ -2,22 +2,14 @@ declare(strict_types=1); -use UIAwesome\Html\{Core\HTMLBuilder, Group\Div, Group\P, Helper\Encode, Semantic\H}; +use yii\helpers\Html; use yii\web\View; /** @var View $this */ $this->title = Yii::t('app.basic', 'About'); - -echo Div::widget() - ->class('text-center') - ->content( - H::widget()->content(Encode::content($this->title))->class('mb-40 display-4 fw-bold')->tagName('h1'), - P::widget() - ->content( - Yii::t( - 'app.basic', - 'This is the About page. You may modify the following file to customize its content.', - ), - ), - HTMLBuilder::createTag('code', __FILE__), - ); +?> +
+

title) ?>

+

+ +
diff --git a/src/UseCase/Site/view/index.php b/src/UseCase/Site/view/index.php index 70065fc..a51ebbe 100644 --- a/src/UseCase/Site/view/index.php +++ b/src/UseCase/Site/view/index.php @@ -2,20 +2,20 @@ declare(strict_types=1); -use UIAwesome\Html\{Group\Div, Group\P, Helper\Encode, Semantic\H}; +use yii\helpers\Html; use yii\web\View; /** @var View $this */ $this->title = Yii::t('app.basic', 'Index'); - -echo Div::widget() - ->class('jumbotron jumbotron-fluid text-center') - ->content( - H::widget() - ->class('display-2 fw-bold') - ->content(Encode::content(Yii::t('app.basic', 'Web Application'))) - ->tagName('h1'), - P::widget() - ->class('lead fw-bold') - ->content(Encode::content(Yii::t('app.basic', 'Yii v.22'))), - ); +?> +
+

+

+ 'btn btn-primary', + ], + ) ?> +
diff --git a/src/UseCase/hello/HelloController.php b/src/UseCase/hello/HelloController.php new file mode 100644 index 0000000..207e31b --- /dev/null +++ b/src/UseCase/hello/HelloController.php @@ -0,0 +1,17 @@ + Date: Sun, 1 Jun 2025 15:22:44 -0400 Subject: [PATCH 02/11] Fix error typo. --- src/UseCase/Hello/HelloController.php | 18 ------------------ src/UseCase/hello/HelloController.php | 2 +- .../assets/AppAsset.php | 0 .../assets/LocaleAsset.php | 0 .../assets/ToggleThemeAsset.php | 0 .../events/ContactEventHandler.php | 0 .../resource/css/site.css | 0 .../resource/js/toggle-theme.js | 0 .../resource/layout/component/alert.php | 0 .../resource/layout/component/footer-icons.php | 0 .../resource/layout/component/menu.php | 0 .../layout/component/toggle_language.php | 0 .../resource/layout/component/toggle_theme.php | 0 .../resource/layout/footer.php | 0 .../resource/layout/head.php | 0 .../resource/layout/main.php | 0 .../resource/message/de/app.basic.php | 0 .../resource/message/en/app.basic.php | 0 .../resource/message/es/app.basic.php | 0 .../resource/message/fr/app.basic.php | 0 .../resource/message/pt/app.basic.php | 0 .../resource/message/ru/app.basic.php | 0 .../resource/message/zh/app.basic.php | 0 23 files changed, 1 insertion(+), 19 deletions(-) delete mode 100644 src/UseCase/Hello/HelloController.php rename src/{Framework => framework}/assets/AppAsset.php (100%) rename src/{Framework => framework}/assets/LocaleAsset.php (100%) rename src/{Framework => framework}/assets/ToggleThemeAsset.php (100%) rename src/{Framework => framework}/events/ContactEventHandler.php (100%) rename src/{Framework => framework}/resource/css/site.css (100%) rename src/{Framework => framework}/resource/js/toggle-theme.js (100%) rename src/{Framework => framework}/resource/layout/component/alert.php (100%) rename src/{Framework => framework}/resource/layout/component/footer-icons.php (100%) rename src/{Framework => framework}/resource/layout/component/menu.php (100%) rename src/{Framework => framework}/resource/layout/component/toggle_language.php (100%) rename src/{Framework => framework}/resource/layout/component/toggle_theme.php (100%) rename src/{Framework => framework}/resource/layout/footer.php (100%) rename src/{Framework => framework}/resource/layout/head.php (100%) rename src/{Framework => framework}/resource/layout/main.php (100%) rename src/{Framework => framework}/resource/message/de/app.basic.php (100%) rename src/{Framework => framework}/resource/message/en/app.basic.php (100%) rename src/{Framework => framework}/resource/message/es/app.basic.php (100%) rename src/{Framework => framework}/resource/message/fr/app.basic.php (100%) rename src/{Framework => framework}/resource/message/pt/app.basic.php (100%) rename src/{Framework => framework}/resource/message/ru/app.basic.php (100%) rename src/{Framework => framework}/resource/message/zh/app.basic.php (100%) diff --git a/src/UseCase/Hello/HelloController.php b/src/UseCase/Hello/HelloController.php deleted file mode 100644 index 0e96403..0000000 --- a/src/UseCase/Hello/HelloController.php +++ /dev/null @@ -1,18 +0,0 @@ - Date: Sun, 1 Jun 2025 15:38:38 -0400 Subject: [PATCH 03/11] Fix case sensitivity in namespace for `ContactEventHandler`. --- config/web/bootstrap.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/web/bootstrap.php b/config/web/bootstrap.php index 795fd61..d3e647b 100644 --- a/config/web/bootstrap.php +++ b/config/web/bootstrap.php @@ -2,7 +2,7 @@ declare(strict_types=1); -use app\Framework\events\ContactEventHandler; +use app\framework\events\ContactEventHandler; return [ 'bootstrap' => [ From 9aab3d62f802f5da1aeaf5fd17ec1a9842112954 Mon Sep 17 00:00:00 2001 From: Wilmer Arambula Date: Sun, 1 Jun 2025 15:45:08 -0400 Subject: [PATCH 04/11] Fix case sensitivity in namespace for `ContactEventHandler`. --- src/{UseCase => usecase}/Controller.php | 0 src/{UseCase/Contact => usecase/contact}/ContactController.php | 0 src/{UseCase/Contact => usecase/contact}/ContactEvent.php | 0 src/{UseCase/Contact => usecase/contact}/ContactForm.php | 0 src/{UseCase/Contact => usecase/contact}/IndexAction.php | 0 src/{UseCase/Contact => usecase/contact}/view/index.php | 0 src/{UseCase => usecase}/hello/HelloController.php | 0 src/{UseCase/Site => usecase/site}/AboutAction.php | 0 src/{UseCase/Site => usecase/site}/SiteController.php | 0 src/{UseCase/Site => usecase/site}/view/404.php | 0 src/{UseCase/Site => usecase/site}/view/about.php | 0 src/{UseCase/Site => usecase/site}/view/index.php | 0 12 files changed, 0 insertions(+), 0 deletions(-) rename src/{UseCase => usecase}/Controller.php (100%) rename src/{UseCase/Contact => usecase/contact}/ContactController.php (100%) rename src/{UseCase/Contact => usecase/contact}/ContactEvent.php (100%) rename src/{UseCase/Contact => usecase/contact}/ContactForm.php (100%) rename src/{UseCase/Contact => usecase/contact}/IndexAction.php (100%) rename src/{UseCase/Contact => usecase/contact}/view/index.php (100%) rename src/{UseCase => usecase}/hello/HelloController.php (100%) rename src/{UseCase/Site => usecase/site}/AboutAction.php (100%) rename src/{UseCase/Site => usecase/site}/SiteController.php (100%) rename src/{UseCase/Site => usecase/site}/view/404.php (100%) rename src/{UseCase/Site => usecase/site}/view/about.php (100%) rename src/{UseCase/Site => usecase/site}/view/index.php (100%) diff --git a/src/UseCase/Controller.php b/src/usecase/Controller.php similarity index 100% rename from src/UseCase/Controller.php rename to src/usecase/Controller.php diff --git a/src/UseCase/Contact/ContactController.php b/src/usecase/contact/ContactController.php similarity index 100% rename from src/UseCase/Contact/ContactController.php rename to src/usecase/contact/ContactController.php diff --git a/src/UseCase/Contact/ContactEvent.php b/src/usecase/contact/ContactEvent.php similarity index 100% rename from src/UseCase/Contact/ContactEvent.php rename to src/usecase/contact/ContactEvent.php diff --git a/src/UseCase/Contact/ContactForm.php b/src/usecase/contact/ContactForm.php similarity index 100% rename from src/UseCase/Contact/ContactForm.php rename to src/usecase/contact/ContactForm.php diff --git a/src/UseCase/Contact/IndexAction.php b/src/usecase/contact/IndexAction.php similarity index 100% rename from src/UseCase/Contact/IndexAction.php rename to src/usecase/contact/IndexAction.php diff --git a/src/UseCase/Contact/view/index.php b/src/usecase/contact/view/index.php similarity index 100% rename from src/UseCase/Contact/view/index.php rename to src/usecase/contact/view/index.php diff --git a/src/UseCase/hello/HelloController.php b/src/usecase/hello/HelloController.php similarity index 100% rename from src/UseCase/hello/HelloController.php rename to src/usecase/hello/HelloController.php diff --git a/src/UseCase/Site/AboutAction.php b/src/usecase/site/AboutAction.php similarity index 100% rename from src/UseCase/Site/AboutAction.php rename to src/usecase/site/AboutAction.php diff --git a/src/UseCase/Site/SiteController.php b/src/usecase/site/SiteController.php similarity index 100% rename from src/UseCase/Site/SiteController.php rename to src/usecase/site/SiteController.php diff --git a/src/UseCase/Site/view/404.php b/src/usecase/site/view/404.php similarity index 100% rename from src/UseCase/Site/view/404.php rename to src/usecase/site/view/404.php diff --git a/src/UseCase/Site/view/about.php b/src/usecase/site/view/about.php similarity index 100% rename from src/UseCase/Site/view/about.php rename to src/usecase/site/view/about.php diff --git a/src/UseCase/Site/view/index.php b/src/usecase/site/view/index.php similarity index 100% rename from src/UseCase/Site/view/index.php rename to src/usecase/site/view/index.php From 720e9508962a7138f6e94728e3cf06d6596431e6 Mon Sep 17 00:00:00 2001 From: Wilmer Arambula Date: Sun, 1 Jun 2025 15:47:32 -0400 Subject: [PATCH 05/11] Fix case sensitivity in resource path in params configuration. --- config/params.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/params.php b/config/params.php index 94b80d7..d8ffb63 100644 --- a/config/params.php +++ b/config/params.php @@ -7,7 +7,7 @@ return [ 'common.aliases' => [ '@app' => $rootDir, - '@resource' => '@app/src/Framework/resource', + '@resource' => '@app/src/framework/resource', ], 'common.bootstrap' => ['log'], 'common.log.levels' => ['error', 'warning', 'info'], From 10c61db033d1c96aa23d6fa7bb88a399081e09d7 Mon Sep 17 00:00:00 2001 From: Wilmer Arambula Date: Sun, 1 Jun 2025 15:59:33 -0400 Subject: [PATCH 06/11] Refactor footer icons rendering to use a loop for social links. --- .../layout/component/footer-icons.php | 82 +++++-------------- .../layout/component/toggle_language.php | 4 +- 2 files changed, 23 insertions(+), 63 deletions(-) diff --git a/src/framework/resource/layout/component/footer-icons.php b/src/framework/resource/layout/component/footer-icons.php index 0ae26bb..365d0f5 100644 --- a/src/framework/resource/layout/component/footer-icons.php +++ b/src/framework/resource/layout/component/footer-icons.php @@ -5,65 +5,25 @@ use UIAwesome\Html\{Graphic\Svg}; use yii\helpers\Html; -?> +$socialLinks = [ + ['icon' => 'github.svg', 'url' => 'https://github.com/yiisoft', 'title' => 'GitHub'], + ['icon' => 'slack.svg', 'url' => 'https://join.slack.com/t/yii/shared_invite/...', 'title' => 'Slack'], + ['icon' => 'facebook.svg', 'url' => 'https://www.facebook.com/groups/yiitalk/', 'title' => 'Facebook'], + ['icon' => 'twitter.svg', 'url' => 'https://twitter.com/yiiframework', 'title' => 'Twitter'], + ['icon' => 'telegram.svg', 'url' => 'https://t.me/yii_framework_in_english', 'title' => 'Telegram'], +]; -attributes(['height' => '24', 'width' => '24']) - ->filePath(Yii::getAlias('@npm/bootstrap-icons/icons/github.svg')) - ->render(), - 'https://github.com/yiisoft', - [ - 'class' => 'd-none d-sm-block d-md-block d-lg-block d-xl-block text-muted hover:text-dark text-decoration-none ms-3', - 'rel' => 'noopener', - 'title' => 'GitHub', - ], -) ?> -attributes(['height' => '24', 'width' => '24']) - ->filePath(Yii::getAlias('@npm/bootstrap-icons/icons/slack.svg')) - ->render(), - 'https://join.slack.com/t/yii/shared_invite/enQtMzQ4MDExMDcyNTk2LTc0NDQ2ZTZhNjkzZDgwYjE4YjZlNGQxZjFmZDBjZTU3NjViMDE4ZTMxNDRkZjVlNmM1ZTA1ODVmZGUwY2U3NDA', - [ - 'class' => 'd-none d-sm-block d-md-block d-lg-block d-xl-block text-muted hover:text-dark text-decoration-none ms-3', - 'rel' => 'noopener', - 'title' => 'Slack', - ], -) ?> -attributes(['height' => '24', 'width' => '24']) - ->filePath(Yii::getAlias('@npm/bootstrap-icons/icons/facebook.svg')) - ->render(), - 'https://www.facebook.com/groups/yiitalk/', - [ - 'class' => 'd-none d-sm-block d-md-block d-lg-block d-xl-block text-muted hover:text-dark text-decoration-none ms-3', - 'rel' => 'noopener', - 'title' => 'Facebook', - ], -) ?> -attributes(['height' => '24', 'width' => '24']) - ->filePath(Yii::getAlias('@npm/bootstrap-icons/icons/twitter.svg')) - ->render(), - 'https://twitter.com/yiiframework', - [ - 'class' => 'd-none d-sm-block d-md-block d-lg-block d-xl-block text-muted hover:text-dark text-decoration-none ms-3', - 'rel' => 'noopener', - 'title' => 'Twitter', - ], -) ?> -attributes(['height' => '24', 'width' => '24']) - ->filePath(Yii::getAlias('@npm/bootstrap-icons/icons/telegram.svg')) - ->render(), - 'https://t.me/yii_framework_in_english', - [ - 'class' => 'd-none d-sm-block d-md-block d-lg-block d-xl-block text-muted hover:text-dark text-decoration-none ms-3', - 'rel' => 'noopener', - 'title' => 'Telegram', - ], -) ?> +foreach ($socialLinks as $link): ?> + attributes(['height' => '24', 'width' => '24']) + ->filePath(Yii::getAlias('@npm/bootstrap-icons/icons/' . $link['icon'])) + ->render(), + $link['url'], + [ + 'class' => 'd-none d-sm-block d-md-block d-lg-block d-xl-block text-muted text-decoration-none ms-3', + 'rel' => 'noopener', + 'title' => $link['title'], + ], + ) ?> +params['app.localeurls.languages'] ?? []; @@ -29,7 +29,7 @@ } $items[] = Html::a( - ' ' . Yii::t('app.basic', "site.selector.language.$key"), + ' ' . Yii::t('app.basic', $languageLabel), Url::current(['language' => $key]), [ 'class' => 'dropdown-item d-flex align-items-center' . (Yii::$app->language === $value ? ' active' : ''), From f1e4aab9ff88f8bc96ba113d22fa624d1678d927 Mon Sep 17 00:00:00 2001 From: Wilmer Arambula Date: Sun, 1 Jun 2025 16:03:03 -0400 Subject: [PATCH 07/11] Fix case sensitivity in skip paths for ECS configuration. --- ecs.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ecs.php b/ecs.php index dc1fcae..b4be48f 100644 --- a/ecs.php +++ b/ecs.php @@ -54,4 +54,10 @@ SingleQuoteFixer::class, ] ) - ->withSkip(['*/src/UseCase/Contact/view/*', '*/src/UseCase/Site/view/*']); + ->withSkip( + [ + '*/src/framework/resource/layout/*', + '*/src/usecase/contact/view/*', + '*/src/useCase/site/view/*' + ], + ); From 1e34ac9d467725398765ebbe97c6f0ca1385fa1f Mon Sep 17 00:00:00 2001 From: StyleCI Bot Date: Sun, 1 Jun 2025 20:03:48 +0000 Subject: [PATCH 08/11] Apply fixes from StyleCI --- ecs.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ecs.php b/ecs.php index b4be48f..50c5fc8 100644 --- a/ecs.php +++ b/ecs.php @@ -58,6 +58,6 @@ [ '*/src/framework/resource/layout/*', '*/src/usecase/contact/view/*', - '*/src/useCase/site/view/*' + '*/src/useCase/site/view/*', ], ); From 41381abb558c5d663b9cab58f37f394a753760e8 Mon Sep 17 00:00:00 2001 From: Wilmer Arambula Date: Sun, 1 Jun 2025 16:09:34 -0400 Subject: [PATCH 09/11] Fix case sensitivity in namespace imports for asset classes. --- config/web/bootstrap.php | 2 +- src/framework/{assets => asset}/AppAsset.php | 2 +- src/framework/{assets => asset}/LocaleAsset.php | 2 +- src/framework/{assets => asset}/ToggleThemeAsset.php | 2 +- src/framework/{events => event}/ContactEventHandler.php | 2 +- src/framework/resource/layout/component/toggle_language.php | 2 +- src/framework/resource/layout/footer.php | 2 +- src/framework/resource/layout/main.php | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) rename src/framework/{assets => asset}/AppAsset.php (93%) rename src/framework/{assets => asset}/LocaleAsset.php (91%) rename src/framework/{assets => asset}/ToggleThemeAsset.php (92%) rename src/framework/{events => event}/ContactEventHandler.php (96%) diff --git a/config/web/bootstrap.php b/config/web/bootstrap.php index d3e647b..09ffbac 100644 --- a/config/web/bootstrap.php +++ b/config/web/bootstrap.php @@ -2,7 +2,7 @@ declare(strict_types=1); -use app\framework\events\ContactEventHandler; +use app\framework\event\ContactEventHandler; return [ 'bootstrap' => [ diff --git a/src/framework/assets/AppAsset.php b/src/framework/asset/AppAsset.php similarity index 93% rename from src/framework/assets/AppAsset.php rename to src/framework/asset/AppAsset.php index cc32144..587a559 100644 --- a/src/framework/assets/AppAsset.php +++ b/src/framework/asset/AppAsset.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace app\framework\assets; +namespace app\framework\asset; use yii\bootstrap5\{BootstrapAsset, BootstrapPluginAsset}; use yii\web\{AssetBundle, YiiAsset}; diff --git a/src/framework/assets/LocaleAsset.php b/src/framework/asset/LocaleAsset.php similarity index 91% rename from src/framework/assets/LocaleAsset.php rename to src/framework/asset/LocaleAsset.php index 69dab27..54b40ea 100644 --- a/src/framework/assets/LocaleAsset.php +++ b/src/framework/asset/LocaleAsset.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace app\framework\assets; +namespace app\framework\asset; use yii\web\AssetBundle; diff --git a/src/framework/assets/ToggleThemeAsset.php b/src/framework/asset/ToggleThemeAsset.php similarity index 92% rename from src/framework/assets/ToggleThemeAsset.php rename to src/framework/asset/ToggleThemeAsset.php index edeeeea..c950609 100644 --- a/src/framework/assets/ToggleThemeAsset.php +++ b/src/framework/asset/ToggleThemeAsset.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace app\framework\assets; +namespace app\framework\asset; use yii\bootstrap5\BootstrapAsset; use yii\web\{AssetBundle, View}; diff --git a/src/framework/events/ContactEventHandler.php b/src/framework/event/ContactEventHandler.php similarity index 96% rename from src/framework/events/ContactEventHandler.php rename to src/framework/event/ContactEventHandler.php index b1896f3..9a3085d 100644 --- a/src/framework/events/ContactEventHandler.php +++ b/src/framework/event/ContactEventHandler.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace app\framework\events; +namespace app\framework\event; use app\usecase\contact\{ContactEvent, IndexAction}; use Yii; diff --git a/src/framework/resource/layout/component/toggle_language.php b/src/framework/resource/layout/component/toggle_language.php index 31cf364..4e31e7d 100644 --- a/src/framework/resource/layout/component/toggle_language.php +++ b/src/framework/resource/layout/component/toggle_language.php @@ -2,7 +2,7 @@ declare(strict_types=1); -use app\framework\assets\LocaleAsset; +use app\framework\asset\LocaleAsset; use UIAwesome\Html\Graphic\Svg; use yii\helpers\Html; use yii\{helpers\Url, web\View}; diff --git a/src/framework/resource/layout/footer.php b/src/framework/resource/layout/footer.php index 61bea26..7f86619 100644 --- a/src/framework/resource/layout/footer.php +++ b/src/framework/resource/layout/footer.php @@ -2,7 +2,7 @@ declare(strict_types=1); -use app\framework\assets\ToggleThemeAsset; +use app\framework\asset\ToggleThemeAsset; use yii\helpers\Html; use yii\web\View; diff --git a/src/framework/resource/layout/main.php b/src/framework/resource/layout/main.php index d7c61a8..2c1be80 100644 --- a/src/framework/resource/layout/main.php +++ b/src/framework/resource/layout/main.php @@ -2,7 +2,7 @@ declare(strict_types=1); -use app\framework\assets\AppAsset; +use app\framework\asset\AppAsset; use yii\{bootstrap5\Breadcrumbs, web\View}; /** From 6f58674a16410a706d2bcbd1bfb1422a5e879a37 Mon Sep 17 00:00:00 2001 From: Wilmer Arambula Date: Sun, 1 Jun 2025 16:12:11 -0400 Subject: [PATCH 10/11] Fix case sensitivity in directory structure documentation. --- README.md | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 31a1dc1..b325950 100644 --- a/README.md +++ b/README.md @@ -40,13 +40,13 @@ Web Application Basic of Yii Version 2. Date: Sun, 1 Jun 2025 16:18:18 -0400 Subject: [PATCH 11/11] Fix typo in directory structure and adjust case sensitivity in `ECS` configuration. --- README.md | 2 +- ecs.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b325950..2a4074f 100644 --- a/README.md +++ b/README.md @@ -61,7 +61,7 @@ root ├── src │ ├── framework │ │ ├── asset Asset bundle files. -│ │ ├── envent Event handler files. +│ │ ├── event Event handler files. │ │ └── resource │ │ ├── css Css files. │ │ ├── js Js files. diff --git a/ecs.php b/ecs.php index 50c5fc8..2b9a33f 100644 --- a/ecs.php +++ b/ecs.php @@ -58,6 +58,6 @@ [ '*/src/framework/resource/layout/*', '*/src/usecase/contact/view/*', - '*/src/useCase/site/view/*', + '*/src/usecase/site/view/*', ], );