http://synala.com/Free, open sourced on Github, and provides everything you need, including a hook system to run additional PHP code when new deposits come in, funds are sent, etc. It does require Bitcoin Core though on your server, as that's simply still the best and most reliable way to watch the blockchain. Aside from watching txs flow through the blockchain, and broadcasting sends, everything is done in-house (address generation, creating & signing txs, etc.), and all the PHP libraries are well commented if you're using it for learning purposes.