プロジェクトごとの定数を扱うクラス Config\Constants の紹介です。
easai's Get Technical page
Programming Tips and Comments, Electronics
月曜日, 7月 28, 2025
PHP: 定数を扱う
水曜日, 7月 23, 2025
PHP: Composer の使い方
PHP には Composer という優れたパッケージ管理ツールがあります。最近、PHP サイトを Composer を使って再構築する作業を行いましたので、方法を書いておきたいと思います。
Composerとは?
ComposerはPHPのパッケージ管理ツールです。PythonにおけるPoetryに似ており、依存関係の管理とプロジェクトの構造化を支援してくれます。
composer.json
によってすべての依存情報を一元管理Packagistというリポジトリから多くのパッケージをインストール可能
Composerの最大の魅力のひとつが、オートローディング機能です。PSR-4準拠の設定を行えば、名前空間に応じてクラスファイルが自動的に読み込まれます。
インストール方法はこちら⇒公式サイト
プロジェクトの初期化
プロジェクトフォルダで以下のコマンドを実行して composer.json
を生成します:
composer init
オートローディング設定
composer.json
に以下を追加してクラスを読み込みます。
"autoload": {
"psr-4": {
"Pages\\": "src/Pages/"
}
}
追加後は以下のコマンドを実行して、オートロード情報を更新します。
composer dump-autoload
使用法
EditPage というクラスを作るなら、src/Pages/EditPage.php ファイルで namespace を指定し、クラスを定義します。
namespace Pages;
class EditPage {
public static function hello() {
return "EditPage::hello() が呼ばれました。";
}
}
EditPage を使うファイルで以下を設定します。
require 'vendor/autoload.php';
use Pages\EditPage;
echo EditPage::hello();
火曜日, 7月 22, 2025
Python: Poetry の使い方
Python のパッケージ管理で便利なツールがあります。pip や venv などもいいですが、ここでは poetry の使い方を説明したいと思います。
インストール
curl -sSL https://install.python-poetry.org | python3 -
使い方
poetry new <proj>
Python モジュールの追加
poetry add requests
仮想環境の管理
poetry run py script.py
仮想環境の構築
poetry install
水曜日, 7月 02, 2025
Laravel サイトのアップグレード
Laravel のサイトをアップグレードする機会がありましたので、その方法をここで書いておきたいと思います。かなり構成というか書き方が変わってきているので注意が必要です。
1. 新しいLaravelプロジェクトの作成
まずはクリーンなLaravel環境を作成します。
composer create-project laravel/laravel new-site
2. 既存コードの移行
必要なファイルを新しいプロジェクトにコピーします:
コントローラ →
app/Http/Controllers
モデル →
app/Models
ビュー →
resources/views
ルーティング →
routes/web.php
またはroutes/api.php
ミドルウェア、サービス、ジョブなど → 必要に応じて
3. Composerのオートロードを更新
クラスのオートロードを再生成します。
composer dump-autoload
4. 必要なパッケージの再インストール
Spatieの権限管理パッケージを使っている場合なら
composer require spatie/laravel-permission
5. Apacheの設定に注意
重要なのが、Apacheの mod_rewrite
モジュールを有効化することです。これはひっかかりました。これを忘れるとルーティングが正しく機能せず、トップページしか表示できません。
LoadModule rewrite_module modules/mod_rewrite.so
6. ルーティングの見直し・更新
Laravelのバージョンアップに伴い、ルーティングの記述方法や構文が変更されていることがあります。
クロージャベースのルートやコントローラルートにおける名前空間の指定方法
Route::controller()
やRoute::middleware()
を使用したグルーピング構文Web/APIルートファイルでのミドルウェアやプレフィックスの指定
Laravel 8以降では、RouteServiceProvider が変更されましたので変更が必要な場合があります。web.php の記述はこれで動きます。
土曜日, 11月 11, 2023
Qt: 外部プログラムを起動する
Qt/C++ のアプリは、外部へ直接アクセスできます。これはネットアプリでは不可能な Qt のメリットです。
外部プログラムを起動することもできます。QProcess::startDetached() を使うと独立したプロセスを立ち上げることができます。
この QProcess::startDetached が Qt5.10 から使用方法がアップデートされたようなので、ご報告まで。引数は外部プログラムへのパスではなく、プロセスIDをとります。
外部プログラムは QProcess::setProgram() で設定します。
金曜日, 11月 10, 2023
QTreeWidget アイテムの追加・削除
QTreeWidget はそのまま使えるツリー構造用のコンポーネントです。そのまま、というのは QTreeView 派生クラスなど作らなくても備え付けのデータクラスが使えるという意味です。
QTreeWidget へアイテムを追加するコードはヘルプにもありますが、ここではルート要素へも追加できるコードを置いておきます。
アイテムを削除する方法はこちらです。ルート要素の削除もできます。
水曜日, 11月 08, 2023
QTableWidget: ヘッダーのフォントをボールド化する
QTableWidget のヘッダーを設定し、フォントをボールド化する方法です。
QTableWidget のヘッダーは setHorizontalHeaderLabels() を呼び出し QStringList を渡すことで設定できます。
設定後、フォントを取得し、setBold() でボールドを設定します。
QTableWidget で右クリックメニュー(コンテキストメニュー)
QTableWidget で右クリックメニューを出す方法です。
まずQTableWidget でコンテキストメニューを有効化する必要があります。
呼び出したメソッドでメニューを作り、popup() メソッドで表示します。
PHP: 定数を扱う
プロジェクトごとの定数を扱うクラス Config\Constants の紹介です。 <?php namespace Config; class Constants { public const DB_USER = "linguist...
-
Qt はまってます。Mac でも書いたアプリがコンパイルできて、しっかり動くのを確認しました。このあいだ Chitubox が Qt 使ってるのを知ってうれしかったです。 Mac でもそのまま動くんですが、アプリのアイコンの設定はプラットフォーム依存です。 公式マニュアルでも設定...
-
コンデンサマイク 極性があります コンデンサマイクがようやく届きました。モジュールではないのでそのままでは信号が弱いので使えません。信号を増幅する必要があります。 ちょっとした手間ですが、首尾よく動いてくれました。この回路の応用で、使えるマイクが出来ます。 ...
-
Flask/SQLAlchemy 使ってる方、jinja で困ってませんか? 本体で Python の関数を書いてもいいんですが、テンプレートでも関数が呼べます。 日付を出したい場合、フォーマットなら strftime() が使えます。 わざわざ文字列を作って渡す必...