I've been programming for a few years, and have become very familiar with C# and JavaScript over time. I have some larger C# and JavaScript projects that I have no trouble navigating around. I recently started a PHP & AngularJS project for work with no prior experience with PHP.
The flow of the PHP side of things is becoming hard to keep track of (The JavaScript side is larger, but easy to work through), when I try and think through it I imagine a tangled ball of thread. Major design mistakes that I made when I started are beginning to pile up and effect my design going forward. It takes longer and longer to implement anything new.
I'm on a tight deadline and finding it harder and harder to write good, DRY, SOLID, code. It's becoming more enticing to copy/paste chunks of code to make slight variations to it's behavior as design time goes up. It's also taking a long time to get back into the code base whenever I have to do a context switch (From one project then back to this one), I have a feeling of dread whenever I go back to work on this project.
What steps can I take to remedy this? The extra time it might take needs to be justifiable as well, my boss is not a developer and is not familiar with development or software life cycles so explaining might be more difficult than normal.