# |
Jun 24th 2019, 09:53 |
JayCH |
It's the prefix "api/1.0" mapping to the "Api10" plugin that I'm having issues setting up |
# |
Jun 24th 2019, 09:51 |
JayCH |
I was unsuccessful so here's what i'm trying to do. I want to have all my API related Controllers as a plugin "Api10", but I would like to "version" these, so say if I call "/api/1.0/images", it calles "plugin/Api10/src/Controller/ImagesController.php. I'm not quite sure if I can do that with just routing, or if I need a custom routeClass? |
# |
Jun 24th 2019, 09:50 |
neon1024 |
Morning all :wave: |
# |
Jun 24th 2019, 09:45 |
JayCH |
Thanks for the link, that sparked an idea that I'll try before wasting your time :) |
# |
Jun 24th 2019, 09:43 |
dereuromark |
you can also check the sandbox app and how it works there ( https://github.com/dereuromark/cakephp-sandbox/blob/master/plugins/Sandbox/config/routes.php ) in real life. |
# |
Jun 24th 2019, 09:42 |
dereuromark |
sure, whats the issue |
# |
Jun 24th 2019, 09:38 |
JayCH |
Hi! I've inherited a cakephp 3.7 app at work and can't quite get my head around plugin routing. Is this the right place to ask? |
# |
Jun 24th 2019, 09:15 |
dereuromark |
any adapters here you could add to awesome list for us all? |
# |
Jun 24th 2019, 09:12 |
steinkel |
@dereuromark using syslog here, then letting syslog fw it elsewhere |
# |
Jun 24th 2019, 09:10 |
dereuromark |
See https://github.com/Seldaek/monolog/blob/master/doc/02-handlers-formatters-processors.md#log-specific-servers-and-networked-logging |
# |
Jun 24th 2019, 09:10 |
dereuromark |
with monolog you can log to anything without having to change more than config, ideally that one as wrapper then |
# |
Jun 24th 2019, 09:09 |
conehead |
What logging? I am logging to graylog |
# |
Jun 24th 2019, 08:57 |
dereuromark |
I am surprised to not see any (monolog) wrapper logging engine in awesome list. what are people using these days? besides the database log maybe? |
# |
Jun 24th 2019, 08:28 |
dereuromark |
capability of retry is definitely powerful and useful here, same for better usability as you dont have the waiting time on the frontend. |
# |
Jun 24th 2019, 08:27 |
dereuromark |
@joey.mukherjee You can even use the queue usually for tasks that should be started right away, as with a good setup you have only a lag of a few seconds. it would only wait a few more if the workers are still all busy. |
# |
Jun 24th 2019, 08:26 |
dereuromark |
But this is usually not adviced for things that need to run longer than a second, or if those could be failing and could need a rerun. |
# |
Jun 24th 2019, 03:16 |
admad |
@joey.mukherjee if you want to trigger a task your self there's no need to use the queue plugin. Just run the shell/command your self with `exec()/shell_exec()` function |
# |
Jun 24th 2019, 02:23 |
joey.mukherjee |
Thanks @challgren! Can you explain "If you just want to call the queue task then call your custom task" a little bit. By call my custom task, do you mean run the task without the queue? I am looking for a way to start the task immediately or trigger it somehow so it starts? Ideally, I'd rather not use cron if I can help it. |
# |
Jun 24th 2019, 01:50 |
challgren |
You should always run it from the Shell. Running it from a web request will block that connection and eventually timeout. If you just want to call the queue task then call your custom task |
# |
Jun 23rd 2019, 23:34 |
joey.mukherjee |
With the dereuromark/cakephp-queue plugin, is there a way to start the queued workers from my app instead of using a cronjob? I tried using a ShellDispatcher but it waits for a response. I am doing this in case I can tweak it: ``` $shell = new ShellDispatcher (); $command = ['cake', 'queue', 'runworker', 'and']; $output = $shell->run ($command);``` |
# |
Jun 23rd 2019, 19:39 |
vossen.steven |
@madbbb ok ty, I'll have to check out my host then to see how I can access it |
# |
Jun 23rd 2019, 19:39 |
vossen.steven |
I checked my db, it was only on the db not on the tables |
# |
Jun 23rd 2019, 18:15 |
madbbb |
you always have access to mysql encoding settings on shared hosting |
# |
Jun 23rd 2019, 18:15 |
niel45 |
@vossen.steven isn't utf8mb4 set on the individual database or table? |
# |
Jun 23rd 2019, 18:01 |
vossen.steven |
figured it out with your help, I have to add this to my.ini `character-set-server = utf8mb4` how would one fix this if they don't have access to it though? |
# |
Jun 23rd 2019, 17:31 |
slackebot |
encoding anymore in my code |
# |
Jun 23rd 2019, 17:31 |
madbbb |
my seeds with Russian characters work fine with this settings: app.php Datasources['default']['encoding'] uses default utf8 and I use docker version of mysql 5.7.23 with override.cnf with this settings: ```[client] default-character-set = utf8mb4 [mysql] default-character-set = utf8mb4 [mysqld] character-set-client-handshake = FALSE character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci ``` I don't have to specify collation or |
# |
Jun 23rd 2019, 17:17 |
vossen.steven |
cause as far as I know you can't pass a collation and I have no clue where it's getting it from |
# |
Jun 23rd 2019, 17:16 |
vossen.steven |
and that doesn't fix the issue if you use newEntity either |
# |
Jun 23rd 2019, 17:15 |
vossen.steven |
so if i do this ``` $data = ['charr' => 'ë']; $table = $this->table('test', ['collation' => 'utf8mb4_unicode_ci']); $table->insert($data)->save(); ``` it works fine, but it seems to me it shouldn't be like that, because if I change my datasource encoding I would have to change that as well |
# |
Jun 23rd 2019, 17:10 |
vossen.steven |
if i pass `'collation' => 'utf8mb4_unicode_ci'` as option when I call $this->table in the seeder it works fine |
# |
Jun 23rd 2019, 17:09 |
vossen.steven |
been reading the docs and I might have a solution |
# |
Jun 23rd 2019, 17:08 |
vossen.steven |
both utf8mb4 |
# |
Jun 23rd 2019, 17:02 |
madbbb |
@vossen.steven what's is your table collation and Datasource.encoding? |
# |
Jun 23rd 2019, 15:49 |
slackebot |
object(Cake\ORM\Entity) { 'id' => (int) 2, 'charr' => 'ë', } ] ``` as you can see the seeder doesn't encode the data properly. |
# |
Jun 23rd 2019, 15:49 |
vossen.steven |
Does anyone know how to get the seeder to encode data properly? I have the following test in my controller and a seeder ``` $testTable = TableRegistry::get('test'); $new = $testTable->newEntity([ 'charr' => 'ë', ]); $testTable->save($new); ``` now when I retrieve the data I get ``` [ (int) 0 => object(Cake\ORM\Entity) { 'id' => (int) 1, 'charr' => 'ë', }, (int) 1 => |
# |
Jun 23rd 2019, 15:06 |
olanowsubomi |
hello, goodday. please can i asked some few questions concerning cakephp download |
# |
Jun 23rd 2019, 08:23 |
challgren |
Does anyone have any pros vs cons for using CakePHP over .NET core? Client wants to use .NET and I want to persuade him otherwise |
# |
Jun 22nd 2019, 19:14 |
joey.mukherjee |
Nevermind! I can just move my $userGroups into the function ($q)! Cool! |
# |
Jun 22nd 2019, 19:11 |
slackebot1 |
return $q->where (['OR' => ['Groups.name' => 'public', 'Groups.id IN' => $userGroups]]); });``` These queries work independently. However, by doing a subquery, I get an `Undefined variable: userGroups` error. clearly userGroups is there in the line before. Any ideas? |
# |
Jun 22nd 2019, 19:11 |
joey.mukherjee |
I've made some progress on my querying, but I'm having one more issue: ``` $userGroups = $this->Groups->find ()->select (['id']) ->matching ('MyUsers', function ($q) { return $q->where (['MyUsers.id' => $this->Auth->user ('id')]); }); $query = $this->Projects->find ()->select (['name']) ->matching ('Groups', function ($q) { |