cakephpメモがきってやつ

とりあえずコントローラーだけで動くやつ。

<?php
namespace App\Controller;

use App\Controller\AppController;

class HelloController extends AppController {
public $autoRender = false;

public function index() {
echo "<html><body><h1>hello!</h1><p>this is controller.</p></body></html>";
}

}

 

クエリーとってくるやつ

  if(isset($this->request->query['id']) &&
isset($this->request->query['pass'])
){
$id = $this->request->query['id'];

まるかっこかかくかっこかわからん。

 

ビューに値をわたすやつ

index.ctpを作って

<?= $bbody ?>

$this->set('bbody', 'setbody');

ってやる。

 

 

 

Call to a member function find() on boolean

ってなったら

$this->loadModel('People');peopleはテーブル名。 

をやればなおるくさいけどなんでなんやろ。 

https://mobb-inc.jp/blog/archives/8777

asosiationがどーたらこーたら。

 

テーブル名とformの名前を一緒にしたら何かしら楽になるんか?

別名のform(xxx.hoge)とかしたらcreate($entity, でかってにいれてくれやん。

 

いまだにformとfromを間違う。

ながいやつは覚えよう。

<a href=<?=$this->Url->build(['controller'=>'List', 'action'=>'edit'])?>?id=<?=$obj->id?>>
<?=$obj->id?>
</a>

$this->Form->create(null, ['type'=>'post', 'url'=>['controller'=>'List', 'action'=>'add']]);

 

割と簡単。レイアウトはやっぱりきょうみがないなぁ。

 

 

 

cakephpインスコするその2めも

ローカルにあるクローン2ってやつつかう。

ほぼcentos初期状態

*https://qiita.com/h-adachi/items/668fe6ede360bddb2c3e

をやる

パスワード変更してから

uninstall plugin validate_password;

をやった。

 

cakephp導入んところで

squizlabs/php_codesniffer 3.3.1 requires ext-simplexml * -> the requested PHP extension simplexml is missing from your system.

になる。

yum install --enablerepo=remi,remi-php70 php-xml

*https://saka24.blue/index.php/2017/07/10/simplexml/

をやる

もっかい

php /usr/local/bin/composer create-project --prefer-dist cakephp/app "mikacakephp"

やる(permissionの設定やる。)

ドキュメントルートの設定とかもさいごまでやって、

apache起動とmysql起動しとかんとダメ。

systemctl start httpd

systemctl start mysqld

cakeにつなげるが、この時点で起動できるが、

CakePHP is NOT able to connect to the database.

ってなってる。

mysqlでデータベースをつくって、

mikacakephp/config/app.php

に設定する。

 

create database mikacakedb;

grant all on mikacakedb.* to ゆーざーめい@localhost indentified by 'mikacakedb';

grant all on mikacakedb.* to mikata@localhost identified by 'mikacakedb';

    'Datasources' => [

        'default' => [

...

            'username' => 'mikata',

            'password' => 'mikacakedb',

            'database' => 'mikacakedb',

 

 

 

setenforce 0

を起動たびにやってやればいい。とりあえず。logにかけないってエラーになるので。

 

追記、これだとコントローラーにルーティングしてくれんので、

/etc/httpd/conf/httpd.conf

DocumentRoot "/var/www/html"

AllowOverride All

とかに変更するとよい。

アクセスは

http://192.168.179.11/mikacakephp/hello

これで。

 

 

 macの場合、

https://qiita.com/machio77777/items/ffed4c214ad6ea493cec

で、pathが通ってなかったら、

export PATH=/usr/local/opt/php@7.1/bin:$PATH
とかやるとできるくさい

 

 

cakePHPインスコしてみるメモ

 

php5をインスコしてphpコマンド動くようにしとかんとあかん。

curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/local/bin/composer

7とか7.2はphp7、php72ってこまんどっぽい

https://i3sblog.wordpress.com/2016/05/16/centos%EF%BC%97%E3%81%ABphp%EF%BC%97%E3%80%81cakephp%EF%BC%93%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB/

 

httpdcentos

/etc/httpd/conf/

ここ

あかんできん。

 

centosセットアップメモ

macvirtualboxにインストール

スクロールはシフトpageup

ネットワークをvirtualboxでブリッジにする

/etc/sysconfig/netowrk-scripts/ifcfg-enp0s3

vi /etc/sysconfig/network-scripts/ifcfg-eth0

ONBOOT=no
↓書き換える
ONBOOT=yes

service network restart

(ttp://dqn.sakusakutto.jp/2013/08/virtualbox_centos_network.html

ここから引用)

でネットワークに繋がる。

アパッチインスコ

yum -y install httpd

ifconfigしたいから

yum install net-tools

sshでつなげる。

php7をインスコするためのツール

yum -y install epel-release

repoに追加?

yum -y install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

php7インスコ

yum -y install php72 php72-php

 

phpmysqlにつなげるtool

yum -y install php-mysql

 

yum -y install http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

 

yum -y install mysql-community-server

 

mysqld --version

 

自動起動

systemctl enable httpd.service
systemctl enable mysqld.service

起動

systemctl start httpd.service
systemctl start mysqld.service
https://weblabo.oscasierra.net/setup-lamp-rhel7/

ファイアウォールあける

 

firewall-cmd --zone=public --add-service=http

高級

firewall-cmd --zone=public --add-service=http --permanent

firewall-cmd --reload

firewall-cmd --list-all

オススメはしませんが、Firewalld は systemctl stop firewalld コマンドで停止できます。

てのもかいてあった。

よくわからんけどとりあえずできたくさい。