Konfiguracja i przykład użycia w CakePHP 4 – pakiet gusapi/gusapi v.6.1.1 Czytaj dalej GUS API
Autor: jornathan
cakePHP – dociągnięcie modelu powiązanego
mmm
$quest = $this->Questionnaires->get($id, [ 'contain' => [ 'Answers', 'Creators' => function($q) { return $q->select(['id', 'firstname', 'lastname']); }] ]); // Dociągamy dodakowe modele dla uprawnionych if($this->hasAccess()) { $this->Questionnaires->loadInto($quest, [ 'Projects' => function($q) { return $q->select(['id', 'manager_id']); } ]); }
cakePHP – beforeSave
CompaniesTable,
$this == Companies, $this->Projects - powiązana tabela
use Cake\Event\EventInterface; use Cake\Database\Expression\QueryExpression; class CompaniesTable extends Table { public function beforeSave(EventInterface $event, $entity, $options) { // zmienione pole manager_id if($entity->isDirty('manager_id')) { $entity->prev_manager_id = $entity->getOriginal('manager_id') ; // pole przed zmianę // podstawienie innej kolumny, wyrażenia $set_prev_manager_id = new QueryExpression('prev_manager_id = manager_id'); $this->Projects->updateAll( [ $set_prev_manager_id, 'manager_id' => $entity->manager_id ], [ 'company_id' => $entity->id ] ); } }
mysql – UPDATE xxxx INNER JOIN
Aktualizuje rekordy powiązane z inną tabelą
UPDATE projects p INNER JOIN companies c ON c.id=p.company_id SET p.manager_id = c.manager_id WHERE c.manager_id <> p.manager_id AND (p.prev_manager_id <> p.manager_id OR p.prev_manager_id IS NULL); AND c.manager_id = 1023;
JS – DATE
Znacznik czasu:
var start_date = $('#start-date').val(); // 2023-02-19
var end_date = $('#end-date').val(); // 2023-02-20
const start_tz = Date.parse(start_date); //
const end_tz = Date.parse(end_date); //
if(end_tz < start_tz) {
alert('Błędna data zakończenia. Popraw !!!');
$('#end-date').val('');
}
Mysql – sortowanie ciągu znaków jako INT
Sortowanie po 3 kategoriach. Ostatnia kategoria jest typu znakowego ale przechowuje numery np. 5, 5a, 5b, 6, 6a. Chcemy sortować tak jak liczby
$query->order(['Procedures.proc_type_id', 'Procedures.proc_category_id']); -- numer jest polem typu varchar, wartości: 5, 5a, 5b, 6, 6a ... $query->orderAsc( function($exp, $q) { return $q->func()->cast('numer','UNSIGNED'); });
SPF, DCIM – wpisy ochrony antyspamowej
Google wrzuca do spamu maile bez rekordu SPF
Czytaj dalej SPF, DCIM – wpisy ochrony antyspamowej
Aruba powiększenie przestrzeni
PHP 8.2 instalacja
QR code – cakephp 4
Integracja QR code z cakephp 4
Źródło: https://sourceforge.net/projects/phpqrcode/
Czytaj dalej QR code – cakephp 4
cakephp 4 – DebugKit
Instalacja i konfiguracja
cakephp 4 – Theme
Dodawanie szablonu HTML5 pobranego z zewnątrz
d3js 7 – zasoby
CDN:
<script src="https://d3js.org/d3.v7.min.js"></script>
www download tgz: https://d3js.org/
dokumentacja: https://github.com/d3/d3/wiki
git – .gitignore + cakephp 4
Jakie pliki wrzucić co .gitignore?
Oficjalna wersja pliku na github – zobacz
cakephp 4 – kroki budowy aplikacji
Etapy budowy aplikacji CakePHP 4
Przygotować dokumentację projektu: aplikacja, visio,
-- przygotować informacje dir: /var/www/mysite.pl database: mysitedb user: 'user1'@'localhost' passwd: "gFtd67%6djEsws0**6!x8s"
Cakephp 4 – app.php – konfiguracja
Typowe wartości w strefie polskiej:
MongoDB – windows installation 6.0
Instalacja odbywa się w dwóch krokach: najpierw należy zainstalować Community serwer a następnie mongo shell do odpytywania bazy danych.
TypeScript – start
Instalacja
Month picker
Plugin jquery-ui wybierający miesiące/lata
Instalacja – mongodb 5.0 – debian buster
Pakiety: mongodb-org – utrzymywany przez MongoDB.org, mongodb – utrzymywany przez Debiana
Instalacja nodejs – snap
Ostatnie wersje dla debiana dostępne poprzez sanp
UFW – installation firewal
nowa domena – apache2, certyfikat
Dodawanie nowej domeny – katalog, konfiguracja Apache2, certbot
certbot – obsługa certyfiktatów
certbot installation
Przygotowanie – snap
Czytaj dalej certbot installation
Debian 10, Instalacja PHP 8.1
Przygotowanie źródła
Czytaj dalej Debian 10, Instalacja PHP 8.1
Export CSV
Export do excela w formacie CSV:
Twitter API
Narzędzia: https://www.postman.com
cakephp 4 – binance api
Dokumentacja github: https://github.com/binance/binance-spot-api-docs/blob/master/rest-api.md#test-connectivity
Pobranie kursu BTCUSD
https://api.binance.com/api/v3/avgPrice?symbol=BTCUSDT
Odp JSON
{"mins":5,"price":"47961.16424359"}
API walutomat.pl
Należy utworzyć konto w serwisie następnie wygenerować API key.
Endpoint API: https://api.walutomat.pl/api/v2.0.0/
-
- market_fx/best_offers (bez api key)
- direct_fx/rates – wymagany klucz API