Getting Started with Silex Composer Project - composer-php

I'm struggling around with Silex and its Project Structure. I'm using PHP for around 10 years now, but I always used tools like Np++. Now I get started with PhpStorm and I feel like a total newbie.
What I'm trying, is to create a Silex Project. After starting a new Composer Project I get the following Structure:
--doc
--src
----Silex
------[Some Silex files]
--tests
--vendor
[some rootfiles]
Let's come to my problem: In my understanding, I would put my files in a folder foobar under the src folder.
The part which is not clear to me is:
Where to put my index.php
Which folders need to be uploaded
How to include the right files in the right place
In the past I had a project structure like:
-- config
-- includes
-- models
-- modules
-- templates
-- resources
-- js
-- [etc]
index.php
includes.php
[other files]
I've been googling around for some hours and I didn't find any good explanation. Can someone give me an advice or an good tutorial? Even if it cost some bucks. It is for a new job and I would be very sad if it would fail because of such little problem. Thank you!
Answers in English or German are welcome.

My problem was, that I ignored the fact: Silex based on Symphony. For beginners it is mandatory, to start with Symphony !

Consider Fabien's skeleton project from https://github.com/silexphp/Silex-Skeleton.
It illustrates the essential directory structure you'll use.
That said, unless you require the micro framework, hop into Symphony 3.3 to get running on the exciting things coming ahead in Symfony 4.
See Fabien's blog at https://medium.com/#fabpot for updates.

Related

Hyperledger composer generator: Trying to copy from a source that doesn't exist (no concepts support for Angular)

I have a composer-rest-server running on localhost:3000. To go with that, I tried to generate an Angular 2 app using yo hyperledger-composer. My business network models also have a abstract concept Spray{...} present.
I believe the documentation is outdated as I was presented with slightly different options than on the documentation. After choosing Angular and following through the steps, I got an
AssertionError: Trying to copy from source that does not exist ... /concept/concept.component.ts
Based on some quick google searches, I was able to find this issue on their Github - https://github.com/hyperledger/composer/issues/3927 however in my case, I am not even able to build the Angular app so I don't even get to the compilation stage.
Is there any way to build the app right now where it's at?
I've created a Github issue explaining steps to reproduce this and also included a hacky fix which is to comment out the lines in the generator code which copy over the concept files.
Link - https://github.com/hyperledger/composer/issues/4328

What IDE to use to start contributing code for CKEditor?

It's my first question here on stackoverflow so please be easy on me.
I've been trying to set up the source for CKEditor so I can start contributing to this editor. I have followed this link: http://docs.ckeditor.com/#!/guide/dev_contributing_code but I got stuck on step 4 as I haven't got the following file: bender.js. I also need something called gruntfile for step 5. Do you know where I can get them from as when I fork https://github.com/ckeditor/ckeditor-dev, the following project does not come with them. Also, what IDE do I need to use to develop code? Sorry, for this question as it might seem a bit stupid but I come from the Java background and Node.js is really new to me, therefore I'm struggling a bit here.
Thanks for any help
There are no requirements regarding IDE, at the end it's all just text.
Regarding your problems: Make sure you're forking ckeditor-dev, and not ckeditor-releases repository. Only dev repository contains all the helpers like gruntfile.
The gruntfile is there so if you cloned CKEditor repository, you must have it.
Then all you need to do is follow up the instructions of CKEditor contribution guide closesly, and you're good to go!

How do you create a project from scratch using Brunch.io, without using their skeletons?

I couldn't find any Brunch.io skeleton that suited my project and so I tried to start from scratch and create my own. But it wasn't before long that I was only scratching my head instead.
Could someone please explain how to start a new project in an empty folder and integrate it with Brunch, using just the terminal and a text editor?
PLEASE DO NOT USE EXISTING SKELETONS
Ideally I'm looking for a tutorial like this: https://coderwall.com/p/pijtcq, but with more detail at each step.
I suggest to take a look at dead-simple brunch, this is official skeleton which is maximally minimal.
https://github.com/brunch/dead-simple
Maybe still take it and add your own framework, lang plugins and stuff.
Or, you can re-create your own, by following the same path: add bower.json, brunch-config and package.json. That's it, I guess.
Going through the dead-simple skeleton helped me understand how Brunch works but I couldn't fire any of my custom js. But I finally, got it... add this code to the brunch-config file to execute all your js files as expected.
modules:
definition: false
wrapper: false
Not sure why this isn't the default behaviour or why it isn't explicitly mentioned anywhere. I spent ages sifting through the net to get this answer.
Have a look at this part of the documentation:
https://github.com/brunch/brunch-guide/blob/master/content/en/chapter04-starting-from-scratch.md

How to speed up Jekyll/Octopress generation?

I'm using Octopress as my blog engine. It's perfect. But if there are many posts, for example 400+ posts, the speed of generation is soooo slow.
So, is there any way to speed up Jekyll/Octopress generation?
Thanks.
Obviously if you are just working on one post, there is no need to wait for the entire site to generate. What you are looking for is the rake isolate[partial_post_name] task.
Using rake isolate, you can “isolate” only that post you are working on and move all the others to the source/_stash folder. The partial_post_name parameter is just some words in the file name for the post. For example, if I want to isolate the post from the earlier example, I would use
rake isolate[plain-english]
This will move all the other posts to source/_stash and only keep the 2011-09-29-just-type-the-title-of-the-post-here-in-plain-english.markdown post in source/_posts. You can also do this while you are running rake preview. It will just detect a massive change and only regenerate that one post from then on.
by #Pavan Podila
More Info: Tips for Speeding Up Octopress Site Generation
2013.01.08 update:
Hexo--A fast, simple & powerful blog framework, powered by Node.js.
Features:Incredibly fast - generate static files in a glance
2013.6.20 update:
gor -- A static websites and blog generator engine written in Go
gor has following awesome benefits: 1. Speed -- Less than 1 second when compiling all my near 200 blogs on wendal.net 2. Simple -- Only one single executable file generated after compiling, no other dependence
Install Ruby GSL
gem install gsl
You should notice a speed increase.
hexo powered by Node.js. I am using it, much faster than Octopress. And it provides a simple way to migrate your articles to hexo very easily.
You can generate only one post while you are writing it using
rake isolate[your-post]
and then
rake integrate
to go back to normal.
To fully answer your question, you can't generate only one post. You can see Octopress' Issue #395 on that subject, which explains that this is due to a limitation on Jekyll's side.
Reached this post with the same problem, but then did not quite like the idea of rake isolate. Also the inbuilt task does not integrate with the _drafts workflow.
So what I ended up using is to create a custom config.yml with the _posts folder excluded (using exclude) and have only the drafts folder built. You can pass in a different config file as command line parameter to jekyll. I just used this when actively writing new posts and while publish use the same old approach (which still does take some time). This approach builds only the draft post and I am good with that.
jekyll build --watch --drafts --config _previewconfig.yml
For those interested in the complete worklow take a look here
If your blog has a lot of images (and other static assets that do not change between builds), it is worthwhile to exclude them from Jekyll's build process, and instead manually update them as needed.
For whatever reason, Jekyll build is not intelligent when it comes to handling such assets. It will delete everything in the public folder, and re-copy the contents in source every time you build. This is wasteful if the assets haven't changed. This can be avoided by using a tool such as Robocopy (Windows) or Rsync (Linux) that is able to update only what has changed.
To tell Jekyll to ignore a folder, add the following to _config.yml:
exclude: # exclude from build
- folderPath
keep-files: # do not delete/empty copy in `public`
- folderPath
Then elsewhere, use whatever tool you want to update the folder.
For more things you can try, see this post.

codeigniter php

I want to ask one of those broad questions so please go easy on me. I know that phil is doing well with pyrocms but I would like to use pyro for my sites and also know how to write custom additions to the cms to suit my needs so what bums me out is how do you use it? where do i add my additions? how is it laid out? Like I said before go easy with me cos there is no documentation for pyrocms.
Thanks
I suppose this is one for me then :-)
modules can be added to the system by adding the folder to application/modules and copying the folder structure. To understand the modular structure better read the documentation for Matchbox by Zacharius K. I'm on my iPhone on a train so not going to look I up for you :-)
look a details.XML within the module to see how to set frontend/backend module type and when you have set a module with is_backend_sidebar clear the cache (or wait 6 hours :-p).
Documentation WILL come soon, my Internet has been down 2 months longer than expected so finishing v0.9.8 then documenting the lot will take a while.
Tweet or email me for more help.

Resources