Log message #4153233

# At Username Text
# Jun 22nd 2018, 08:24 birdy247 Ok, so this is cool
# Jun 22nd 2018, 08:24 neon1024 Oh yeah, that would work too
# Jun 22nd 2018, 08:23 birdy247 ModelAwareTrait?
# Jun 22nd 2018, 08:23 neon1024 Or implement the LocatorAwareTrait and grab them from the TableLocator also I guess
# Jun 22nd 2018, 08:22 neon1024 Well you will need the table class to create a new entity, so you could just pass the table class instances into the new Stationary class
# Jun 22nd 2018, 08:20 birdy247 presumably I can use these in my new Stationary class?
# Jun 22nd 2018, 08:20 birdy247 in my InvoiceItems table, I have methods like createPenInvoice, createRulerInvoice
# Jun 22nd 2018, 08:18 birdy247 :slightly_smiling_face:, you always convince me :+1:
# Jun 22nd 2018, 08:18 santiago17 Hello, I have a project in cake 2.9.1 I have already placed into the root of the virtual machine and is showing me just the directory. I have installed and set up its DB, gave permissions to write to the folders and subfolders. I have tried everything during the whole day and do not what else to do
# Jun 22nd 2018, 08:17 neon1024 Blimey I almost sound like I know what I’m doing :flushed:
# Jun 22nd 2018, 08:16 neon1024 Especially in collection style classes imho
# Jun 22nd 2018, 08:16 neon1024 Just remember, Composition over Inheritance
# Jun 22nd 2018, 08:16 birdy247 :slightly_smiling_face:
# Jun 22nd 2018, 08:16 birdy247 blimey @neon1024 ill be going off the cake piste soon
# Jun 22nd 2018, 08:15 neon1024 If you wanted to make it more future proof, you could implement your own Registry
# Jun 22nd 2018, 08:15 neon1024 Then call the method which does the dependant create
# Jun 22nd 2018, 08:15 birdy247 shouldSaveRuler
# Jun 22nd 2018, 08:15 neon1024 Which did that check
# Jun 22nd 2018, 08:15 neon1024 Well you’d write a method
# Jun 22nd 2018, 08:14 birdy247 would it do this lookup in the savePen() method
# Jun 22nd 2018, 08:14 birdy247 and if when saving a Pen, it looks at the 'StationaryCubpaordForPenRules" to see if it needs to save a Ruler
# Jun 22nd 2018, 08:14 neon1024 `function build(?Pen $pen, ?Ruler $ruler): Stationary`
# Jun 22nd 2018, 08:13 neon1024 Or chain them from the initial parent id. With it’s own class you have more freedom :slightly_smiling_face:
# Jun 22nd 2018, 08:13 birdy247 ok, this sounds good
# Jun 22nd 2018, 08:13 neon1024 You could even have a method which creates a whole collection from id’s or something
# Jun 22nd 2018, 08:12 neon1024 The advantage for me here is that I can use that class anywhere
# Jun 22nd 2018, 08:12 birdy247 Pens, Rulers etc... all belongTo an invoiceItem
# Jun 22nd 2018, 08:12 birdy247 I kind of alreayd have stattionary
# Jun 22nd 2018, 08:12 neon1024 Just my thoughts anyway :slightly_smiling_face:
# Jun 22nd 2018, 08:11 neon1024 I mean, urgh, I can’t believe I’ll say this, you could make magic methods for `has{Thing}()`
# Jun 22nd 2018, 08:10 neon1024 `$stationary->hasPen()` `$stationary->hasRuler()`
# Jun 22nd 2018, 08:10 neon1024 Then you can have whatever accessor methods you like
# Jun 22nd 2018, 08:10 neon1024 So the way the objects are dependent is represented in code
# Jun 22nd 2018, 08:10 neon1024 Then you can just add extra methods in the class to create Rulers, Highlighters, Protractors
# Jun 22nd 2018, 08:09 neon1024 `public function save(array $data){ if (!empty($data['Pen']) { $this->Pen = $this->Pens->createEntity($data['Pen']) }` etc
# Jun 22nd 2018, 08:09 neon1024 Then the class just has
# Jun 22nd 2018, 08:09 neon1024 `$stationary = new Stationary();` `$stationary->save($dataArray)` perhaps
# Jun 22nd 2018, 08:08 neon1024 No, wai t asec
# Jun 22nd 2018, 08:07 neon1024 `$stationary = new Stationary(Pen $pen, Ruler $ruler);`
# Jun 22nd 2018, 08:07 neon1024 If the objects are tightly coupled, wrapping up the way they are created feels logical to me
# Jun 22nd 2018, 08:06 birdy247 Thats why I put the logic into Listeners, as it never really felt like it belonged anywhere