PHP is a server-side scripting language, mainly used for web development but also used as a general-purpose programming language. Object-Oriented Programming (PHP OOP), is a type of programming language principle added to php5, that helps in building complex, reusable web applications.
In this blog, we will be explaining some of Object-Oriented Programming concepts in PHP with some examples.
The Object Oriented concepts in PHP are :
- Magic Methods
Class & Object:
- Class is a programmer-defined data type, which includes local methods and local variables.
- Class is a collection of objects. Object has…
A little over a year ago, Nick Sullivan talked about the beginning of the end for AES-CBC cipher suites, following a plethora of attacks on this cipher mode.
Today we can safely confirm that this prediction is coming true, as for the first time ever the share of AES-CBC cipher suites on Cloudflare’s edge network dropped below that of ChaCha20-Poly1305 suites, and is fast approaching the 10% mark.
Over the course of the last six months, AES-CBC shed more than 33% of its “market” share, dropping from 20% to just 13.4%.
All of that share, went to AES-GCM, that currently encrypts over 71.2% of all connections. ChaCha20-Poly1305 is stable, with 15.3% of all connections opting for that cipher. Surprisingly 3DES is still around, with 0.1% of the connections.
The internal AES-CBC cipher suite breakdown as follows:
The majority of AES-CBC connections use ECDHE-RSA or RSA key exchange, and not ECDHE-ECDSA, which implies that we mostly deal with older clients.RSA is also dying
In other good new, the use of ECDSA surpassed that of RSA at the beginning of the year. Currently more than 60% of all connections use the ECDSA signature.
Although 2048-bit RSA is not broken, it is generally considered less secure than 256-bit ECDSA, and is significantly slower to boot.PFS is king
Last, but not least, 98.4% of all connections are PFS, using ECDHE for key exchange. That's up from 97.6% six months ago.
All in all we see the continuation of the positive trend on the web towards safer and faster cryptography. We believe this trend will continue with the finalization of TLS 1.3 later this year.
Over the past month there has been a lot of focus on Drupal, the community. More recently it seems people are back to thinking about the software. Dave Hall and David Hernandez both posted eye opening posts with thoughts and ideas of what needs doing and how we can more forward.
A one line summary of those posts would be "We should slim down core, make it more modular, and have many distros".
To a degree this makes sense, however it could cause divergence. Core is not great at all following the same pattern, but contrib is even worse. As part of the Workflow Initiative specifically there is a lot of work going on to try and get the Entity API aligned, get many more entity types revisionable and publishable, using common base classes, traits, and interfaces. If we maintained Node, Block Content, Taxonomy, Comment, etc all as separate projects then there's a chance less of this would happen. Also by doing this we are laying out foundations and setting examples to be followed.
One solution to this may be to follow Symfony (yet again), they have a monolithic project but then split this up into the various components, which are "read only" repos. It's be pretty awesome if we could do this with Drupal. From there we could make Drupal downloadable without many of the core modules. People with the right skills can create a composer.json file to pull in exactly what parts of Drupal are needed, others could use a form on d.o to select which parts are wanted, which downloads a compiled zip.
What would be more awesome is if we could abstract more of Drupal out of Drupal. Imagine if the Entity API was a PHP generic library. Imagine if you could create a Laravel or Symfony app with Nodes. This would be really tricky, especially since Dries announced the plans to make Drupal upgrades easy forever, but possible.
Currently most Drupal sites are still on 7, and here we're talking about what would be Drupal 9? Maybe we need to take step back and look at why sites aren't being upgraded. Dave mentions "A factor in this slow uptake is that from a developer's perspective, Drupal 8 is a new application. The upgrade path from Drupal 7 to 8 is another factor." Although another reason is also why would a company spend the tens of thousands upgrading to Drupal 8? It looks at works (from a users point of view) the same as Drupal 7. Drupal is a CMS, a Content Management System, and the management of content is more or less the same. Yes, with initiatives like Workflow and Media this is changing, but even then similar functionality can be achieved in Drupal 7 with contrib modules. Will Drupal 8 be the version to skip? go straight from 7 to 9?
As Drupal is now pretty firmly an enterprise platform we need to look at this from a marketing point of view. What is going to sell Drupal 9? Why are people going to upgrade? What do they really want? Is a slimmed down core and more modular application really the selling feature that's wanted?
Drupal is a CMS, quoting Dave again "do one thing and do it well". We need to focus on making the authoring experience awesome, and the workflows that go along with it awesome too. This should all be done in a consolidated way to make managing Node content, Block content, etc just as intuitive as each other. If during this process we can also make things more modular, and less Drupally, that'd be awesome!timmillwood Fri, 21/04/2017 - 17:22 Tags drupal-planet drupal 8
The first week of April I was among the attendees at the year’s largest US Angular conference, ngconf, in Salt Lake City, Utah. As one of the keynote speakers last year, I was excited at the opportunity to attend again, and curious about how different the atmosphere would be this time around. Last year the community was anxiously awaiting the release of Angular 2.0, and this year 4.0 was released just before the conference.
WOW! The response to my blog post on the future of Drupal earlier this week has been phenomenal. My blog saw more traffic in 24 hours than it normally sees in a 2 to 3 week period. Around 30 comments have been left by readers. My tweet announcing the post was the top Drupal tweet for a day. Some 50 hours later it is still number 4.
It seems to really connected with many people in the community. I am still reflecting on everyone's contributions. There is a lot to take in. Rather than rush a follow up that responds to the issues raised, I will take some time to gather my thoughts.
One thing that is clear is that many people want to use DrupalCon Baltimore next week to discuss this issue. I encourage people to turn up with an open mind and engage in the conversation there.
A few people have suggested a BoF. Unfortunately all of the official BoF slots are full. Rather than that be a blocker, I've decided to run an unofficial BoF on the first day. I hope this helps facilitate the conversation.Unofficial BoF: The Future of Drupal
When: Tuesday 25 April 2017 @ 12:30-1:30pm
Where: Exhibit Hall - meet at the Digital Echidna booth (#402) to be directed to the group
What: High level discussion about the direction people think Drupal should take.
UPDATE: An earlier version of this post had this scheduled for Monday. It is definitely happening on Tuesday.
I hope to see you in Baltimore.
Today’s top CMS platforms all offer their own unique flavor for users trying to get their website up and running. All of them have their own strengths and weaknesses, but for complete and total flexibility, Drupal is the best choice. While it requires a strong grasp of web development, the level of customization it offers is far beyond its competition.
Join us as we look at some of the top reasons to use Drupal, followed by an infographic that breaks down today’s top three platforms.
The Top 3 Reasons to Choose Drupal For Your Website
While there are plenty of articles about Drupal, and numerous reasons to use it, let’s take a look at the top three picks:
1. Agile Web 2.0 Development
Drupal embraces the best parts of agile web development. From the moment you install it, you have clean markup code, page and blog publishing, content management, search, polls, forums, user login modules, and plenty more. It cuts your development timeline down to mere days, as opposed to weeks of getting everything ready.
2. Thousands of Modules
Modules allow you to quickly add functionality to your website. With over 16,000 to choose from, this number is only growing. From additional security, to social media, to SEO, and backups, you can do just about anything with these additional tools, and provide your users with an excellent experience.
3. Ultimate Scalability
Drupal is insanely flexible. You can start with as little as 10 pages on your site, and move up to 10,000 posts without ever changing a thing. Performance and security can be easily modified through the Admin console. Perhaps this is why some of the world's biggest websites like the White House, Nascar, and the Grammys all run on Drupal.
If you are still unsure why Drupal is the best, read this article with more reasons that will convince you.
Breaking Down Today’s CMS Platforms (Infographic)
Below you’ll find an infographic that compares Drupal to the other platforms you’ll find in your search. For the reasons above, however, our team of OnBlastBlog recommends Drupal wholeheartedly.
And which platform do you use? Let us know in the comments!Tags: Drupal Planet Drupal Title: How to Choose the Right Open Source CMS for Your Website (Infographic)
Drupal 8 promised to make website management a piece of cake, and it is fulfilling its promise!Read more
TL;DR: Both the community and Dries Buytaert, Project Lead, see a need to evolve Drupal community governance. The Drupal Association can help in a support role. We will start by hosting mediated community discussions so everyone around the world can participate, be heard and understood, and share their ideas. Creating a new governance model will take many months and will require an agile approach as we all feel our way through the proper steps. The Drupal Association will continue to find ways to support this process as we all move through it together.
Over the last several weeks, the Drupal Association has been in listening mode — and we still are. We’re hearing community members say they need clarity and understanding, and that our community governance needs to change. As we process what we’re hearing, we want to find the best way to help the community address the issues being raised, within the boundaries of the Drupal Association charter.
The Drupal Association’s mission is to unite the global community to help build and promote the software. We do that in two very specific ways: DrupalCon and Drupal.org. We’re determining how best to meet the community’s needs as it relates to these two key community homes. In the near future, I will publish blogs with ideas on how we might address the various needs we are hearing.Evolving Community Governance
There is one need that we hear loud and clear that we can address today: The community needs support to evolve community governance structures and processes. Both the community at large, and Dries Buytaert, Project Lead, have expressed this need, and we are glad to see this alignment.
It’s important to note that the Drupal Association has a very limited role in community governance. Our only role in governance stems directly from our charter to manage DrupalCon and Drupal.org.
It’s not within our charter to oversee community governance or drive its evolution. The last thing the Drupal Association wants is to step outside of our charter or accidentally take away the community’s agency in self-organizing to create the new community governance model. However, we do want to facilitate forward movement. And so, we can take a support role.
We hear that many in the community want to come together to talk. We can support this by providing a meeting place (both in person and online), and a mediator for community discussions.
We have asked Whitney Hess, a coach who has worked with the Drupal community before, to facilitate and mediate community discussions, where people can come together to talk about current community issues and explore ideas for improved governance. These discussions will start at DrupalCon Baltimore and continue in a series of online meetings, scheduled at different times so members around the world can participate. [see more details below]
To provide transparency for those who cannot attend the discussion sessions, we will post meeting minutes and summaries from each community discussion here: https://drupal.org/community/discussions.
As facilitator of these community discussions, Whitney Hess will provide a summary to give us a broad perspective on the “voice of the community.” We hope these conversations will ground the community as it begins architecting its new governance model.
Once we have had these discussions we can decide together on the appropriate next steps, and how the Association can help the community continue to move forward, together.Join Community Discussions
We hope you'll join the conversation as these discussions begin. Again, our overarching aim is to support the community so it can be healthy and continue to thrive. We believe that open conversation is essential to the wellbeing of any community and we look forward to hosting Community Discussions mediated by Whitney Hess. Please join fellow community members to talk through recent community issues and to be part of co-creating Drupal’s new governance model.
Here are the discussions you can join. Please note the ground rules below:At DrupalCon Baltimore
Location: Pratt Street Show Office
Tuesday, 12-1pm, max 45 participants
Tuesday, 2:15-3:15pm, max 15
Tuesday, 5-6pm, max 15
Wednesday, 2:15-3:15pm, max 15
Wednesday, 3:45-4:45pm, max 15
Thursday, 10:45-11:45am, max 15
Thursday, 1-2pm, max 45
Sign Up Here: https://events.drupal.org/virtual/community-discussions
Tuesday, May 9: 4pm EDT / 1pm PDT / 9pm BST / 10pm CEST / 6am +1 AEST
Wednesday, May 10: 8am EDT / 1pm BST / 2pm CEST / 5:30pm IST / 10pm AEST
Thursday, May 11: 9:30am EDT / 2:30pm BST / 3:30pm CEST / 7pm IST / 11:30pm AEST
Friday, May 12: 2pm EDT / 11am PDT / 7pm BST / 8pm CEST / 11:30pm IST
Tuesday, May 16: 8pm EDT / 5pm PDT / 10am AEST
Wednesday, May 17: 12pm EDT / 9am PDT / 5pm BST / 6pm CEST / 9:30pm IST
Thursday, May 18: 3pm EDT / 12pm PDT / 8pm BST / 9pm CEST
Key Principles of Nonviolent Communication
Responsibility for Our Feelings: We aim to move away from blame, shame, judgment, and criticism by connecting our feelings to our own needs. This recognition empowers us to take action to meet our needs instead of waiting for others to change.
Responsibility for Our Actions: We aim to recognize our choice in each moment, and take action based on seeing how it would meet our needs to do so; we aim to move away from taking action based on fear, guilt, shame, the desire for reward, or any “should” or “have to.”
Prioritizing Connection: We aim to focus on connection instead of immediate solutions, and to trust that connecting with our own and others’ needs is more likely to lead to creating solutions that meet everyone’s needs.
Equal Care for Everyone’s Needs: We aim to make requests and not demands; when hearing disagreement with our request, or when disagreeing with another’s request, we aim to work towards solutions that meet everyone’s needs, not just our own, and not just the other person’s.
Self-Expression: When expressing ourselves, we aim to speak from the heart, expressing our feelings and needs, and making specific, doable requests rather than demands.
Empathic Hearing: When we hear others, we aim to hear the feelings and needs behind the expressions, even when they express judgments or demands.
Protective Use of Force: We aim to use force only to protect, not to punish others or get our way without the other’s agreement, and only in situations where the principles above were not sufficient to meet immediate needs for safety. We aim to return to dialogue as soon as safety is re-established
How These Ground Rules Work
Ground rules will be stated at the beginning of each session.
If you are not in agreement with the ground rules, please do not participate in the session.
- If a participant is repeatedly disruptive of respectful, productive discussion, they will be asked to leave; if they do not leave, the session will be terminated immediately.
The past weeks have been difficult. I'm well aware that the community is struggling, and it really pains me. I respect the various opinions expressed, including opinions different from my own. I want you to know that I'm listening and that I'm carefully considering the different aspects of this situation. I'm doing my best to progress through the issues and support the work that needs to happen to evolve our governance model. For those that are attending DrupalCon Baltimore and want to help, we just added a community discussions track.
There is a lot to figure out, and I know that it's difficult when there are unresolved questions. Leading up to DrupalCon Baltimore next week, it may be helpful for people to know that Larry Garfield and I are talking. As members of the Community Working Group reported this week, Larry remains a member of the community. While we figure out Larry's future roles, Larry is attending DrupalCon as a regular community member with the opportunity to participate in sessions, code sprints and issue queues.
As we are about to kick off DrupalCon Baltimore, please know that my wish for this conference is for it to be everything you've made it over the years; a time for bringing out the best in each other, for learning and sharing our knowledge, and for great minds to work together to move the project forward. We owe it to the 3,000 people who will be in attendance to make DrupalCon about Drupal. To that end, I ask for your patience towards me, so I can do my part in helping to achieve these goals. It can only happen with your help, support, patience and understanding. Please join me in making DrupalCon Baltimore an amazing time to connect, collaborate and learn, like the many DrupalCons before it.
(I have received a lot of comments and at this time I just want to respond with an update. I decided to close the comments on this post.)
Configuration management is one of the most useful site development features in Drupal 8. It makes a site's configuration exportable, importable and manageable in git. Whilst building the configuration management feature, a thought that often occurred was "Wouldn't it be great if you can take an existing set of configuration and install a new site from it?". Every Drupal developer has turned up to a new project and had to learn a different way to build a development site. Do you get the code from github? Download a database from production or some other special location? And is that database sanitised?
I hope you will be attending DrupalCon 2017 next week in Baltimore. This a great opportunity to update your Drupal knowledge and network with others. It’s also your chance to sign up for a special, two-hour training session on Drupal 8 SEO which is free to Drupalcon attendees.
I will be holding a Drupal 8 SEO Hands-On Seminar beginning at 15:45 on April 25 in room 321 at the Baltimore Convention Center. We will do the most important on-page optimizations that I’d execute for a Volacci SEO client. We’ll cover specific details that marketers should know to achieve SEO results with Drupal 8 with minimal need for developer help.
In addition, everyone who attends will receive a free electronic copy of my latest book, Drupal 8 SEO. This book is a step-by-step guide for ranking high in search engines with professional tips, modules, and best practices for Drupal 8 web sites.
Search Engine Optimization is a key part of the success of any Drupal website. With recent releases, Drupal 8 is ready for the SEO prime-time, but it can be difficult to know which modules to use and exactly how to configure them. This course will take the mystery out of Drupal 8 SEO.
In the hands-on portion of the class, you can optimize your very own website. Following Volacci’s Drupal SEO guidelines, the end-result will be a website that ranks better in search engine results, creates more leads and drives more revenue. If you want to do the hands-on portion of this class, you must bring your own dev environment. It can be your own Drupal website or a test website. Get the details here.
See you at DrupalCon!2 Hours of Drupal SEO Training and a Free Book, Too!drupalcon, drupal 8 seo book, Planet Drupal
Here is where we bring awareness to Drupal modules running on less than 1% of reporting sites. Today we'll investigate Toolbar menu, a module which allows you to add menus to your toolbar.
Open conversation is essential to the wellbeing of any community. It is especially important now, as we collaboratively determine how to evolve our governance.
This discussion thread is being posted as a place for ongoing conversation about recent community issues and the governance improvements that the community is collaborating on together.
For background information on additional conversations being held, we direct you to:
...which has links to open community discussion sessions to be held at DrupalCon Baltimore, and that are being held virtually. After those sessions are completed, minutes will be posted to page above.
We encourage you to join us at those community discussions if you are able, and/or to continue the discussion here.
In the last post in this series, we set up some routing for our module for three paths. One of those paths is to the module's main configuration form. Since this module has a Drupal 7 version, I am going to go by the old tried and true method of CDD, a.k.a Copy Driven Development. Copy, paste, cry, try to copy something else.Developer Blog
To me, meeting and building relationships in person is the glue that holds us together and makes Drupal a community. If this is your first DrupalCon or first Drupal community event, it’ll be your first taste of this crazy, smart bunch of people scattered around the globe most of the rest of the year. Welcome! I’d like to help you get the most out of your first DrupalCon!Tags: acquia drupal planetcommunityfirst timerseventdrupalcon