設定ファイルの場所
「protected\config\dynamic.php」になる。これとDBを消せば初期化となる。
推奨モジュール
「Humhub Updater」は入れて置いたほうがいい。アップデート作業を自動化してくれる。
humhubでオリジナルなCSSを追加したい。編集するファイルは
humhub\protected\humhub\assets\AppAsset.php
<?php namespace humhub\assets; use yii\web\AssetBundle; class AppAsset extends AssetBundle { /** * @inheritdoc */ public $css = [ 'css/temp.css', 'css/bootstrap-wysihtml5.css', 'css/flatelements.css', 'css/blueimp-gallery.min.css', 'css/mystyle.css' #追加 ]; <||
Humhubでダッシュボードに書き込みを置いてみた。
編集するのは
humhub\modules\dashboard\views\dashboard\index.php
<?php /** * @var \humhub\modules\user\models\User $contentContainer * @var bool $showProfilePostForm */ use humhub\modules\dashboard\widgets\DashboardContent; use humhub\modules\dashboard\widgets\Sidebar; use humhub\modules\activity\widgets\Stream; use humhub\widgets\FooterMenu; use humhub\modules\post\widgets\Form; # 追加 ?> <div class="container"> <div class="row"> <div class="col-md-8 layout-content-container"> <?= Form::widget(['contentContainer' => Yii::$app->user->getIdentity()]); ?> <!-- 追加 --> <?= DashboardContent::widget([ 'contentContainer' => $contentContainer, 'showProfilePostForm' => $showProfilePostForm ]); ?> </div>
謎の仕様。Xserverではshell_execは使える。ところが
shell_exec('php -v')
を使うとプロセスが返ってこないし、
shell_exec('python -V')
だと結果がNULLになる。
この仕様のせいで、friendicaが使えなくて困った。
ググった情報のコピペだけでは出来なかったよ。まず
wget https://github.com/git/git/archive/master.zip
はOpenSSLのバージョンの関係で失敗するので
wget https://www.kernel.org/pub/software/scm/git/git-2.17.0.tar.gz
にした。ところがmakeが出来なかった。
tar zxvf git-2.17.0.tar.gz cd git-2.17.0 ./configure --prefix=$HOME/opt make -i all make -i install ~/opt/bin/git --version
make -i でエラー無視インストールすると上手くいった。
Excelで書式が増えすぎた場合は手で削除するのはムリ。マクロで一気に消しましょう。
Sub Excelの書式を全て削除() Dim myStyle As style On Error Resume Next For Each myStyle In ActiveWorkbook.Styles If Not myStyle.BuiltIn Then myStyle.Delete End If Next End Sub
こうすりゃわかるのか。
>php -i|find "Thread Safety" Thread Safety => enabled >php -i|find "Architecture" Architecture => x86
PHPのSNS、どれを使うか悩んでいる。OXWALLは実際に運用したけど、すごく使いにくかった。Minds、Movimもイマイチ。Elggはバージョン3が中々出ない。というわけでhumhubにチャレンジ。Yiiフレームワークはあまり好きじゃないんだが…。
humhub 1.2以前はPHP7.2では動作しないので注意。PHPのバージョンを下げるか、humhub 1.3以降を使う。
D:\xampp\source\humhub>composer global require "fxp/composer-asset-plugin:^1.2.0" Changed current directory to C:/Users/AppData/Roaming/Composer./composer.json has been updated Loading composer repositories with package information Updating dependencies (including require-dev) Package operations: 1 install, 0 updates, 0 removals - Installing fxp/composer-asset-plugin (v1.4.2): Downloading (100%) Writing lock file Generating autoload files
このあとcomposer Update。時間はかなりかかる。
Laravel5.4でPHPUnit6を使ったときに「No tests executed!」が出る。Laravel5.4はPhpunit6に対応していないので、vendor内にあるphpunitを使うと解決できる。
php vendor\phpunit\phpunit\phpunit
大きな画像を送って「Image source not readable」が出た場合はphp.iniの「upload_max_filesize」の値を大きくすれば対処できる。
storeとupdateでバリデーションを共通化したいけど、updateの時だけユニークチェックしたい。という時の書き方。あまりキレイじゃないね。。。
public function valid() { $validator = \Validator::make($this->toArray(), [ 'code' => 'required|max:255', ]); if ($this->id && !$validator->fails()) { $validator = \Validator::make($this->toArray(), [ 'code' => 'unique:titles,code,' . $this->id ]); } return $validator; }
コントローラーをテストする時にRequestの変数に値を入れる。
$request = new Request; $request->merge([ 'name' => 'testname', ]); $controller = new \Lb\Http\Controllers\TitleController($request); $controller->update($request, 100); $title = Title::find(100); $this->assertEquals($title->name, 'testname');
長くなったLaravelのModelを分割する方法の一つとして、私は上位モデルを使うときがある。
Titleモデルのうち、Updateに関する機能を独立させるときはこんな感じ。テーブル名を指定するのがポイント。
class TitleUpdate extends Title { protected $table = 'titles'; public function myvalidator($request) { return \Validator::make($request->toArray(), [ 'releasedate' => 'date_format:Y/m/d', ]); } }